gpt4 book ai didi

javascript - 对输入类型 ="number"使用正则表达式删除非数字

转载 作者:行者123 更新时间:2023-11-28 15:31:38 26 4
gpt4 key购买 nike

我想从 <input type="number"> 中的用户输入中删除所有非数字字符元素,但我无法让它工作。我的代码在 <input type="text"> 上运行良好元素,但当您更改 text 时,完全相同的代码不起作用至number .

HTML:

<input type="text">
<input type="number">

jQuery:

// Works
$("[type='text']").on("change",function(){
var x = $(this).val();
x = parseInt(x.replace(/\D/g,''),10);
if (isNaN(x)) {x = "";}
$(this).val(x);
});

// Doesn't work
$("[type='number']").on("change",function(){
var x = $(this).val();
x = parseInt(x.replace(/\D/g,''),10);
if (isNaN(x)) {x = "";}
$(this).val(x);
});

Fiddle .

如何让它发挥作用?

更新:@axlpl 下面的回答让我们得到了我们所需要的。我使用他的代码作为起点并对其进行了修改,以确保它可以与 Apple 的命令键配合使用,并允许在单元格中完成某些其他操作。 Fiddle .

最佳答案

<input type="number">有某种内置的验证。 val()只要字段中存在无效字符,该字段就为空。因此,您不能使用代码来删除非数字元素,因为 <input type="number"> 的值中永远不会有这样的字符。

<小时/>

编辑:

我推荐类似http://jqueryvalidation.org/的东西。它将为您提供不同的验证选项,并具有易于使用的错误输出。这样,您可以在输入上方添加一些红色文本,并告诉用户可以在此字段中输入什么,不能输入什么。

关于javascript - 对输入类型 ="number"使用正则表达式删除非数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27128956/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com