-3

我有一个<input type='text' />元素,用户必须插入一个数字。如何检查是否value包含数字以外的内容?(允许数字)

4

5 回答 5

1

使用正则表达式

var regEx = new RegExp('^[0-9]+$');

看到这个JSFiddle

var num = 'AA'
var regEx = new RegExp('^[0-9]+$');
alert(regEx.test(num))
于 2013-08-15T14:09:36.023 回答
1

您可以使用 HTML 5pattern属性<input type="text" pattern="\d*" />

\d*是一个正则表达式,读作“一个数字零次或多次”。

于 2013-08-15T14:09:58.740 回答
0

使用 jQuery - $.isNumeric(value)

于 2013-08-15T14:11:56.407 回答
0

当用户输入内容时,输入失去焦点,所以试试这个:

    $('input:text').blur(function(){
    var text = $(this).val();
    if (text.match(new RegExp("[^0-9]", "g")) != null){
        alert("Not only numbers entered!");
    }
});

这意味着:当焦点丢失时,我们会尝试在输入值中查找非数值

于 2013-08-15T14:14:36.287 回答
0

对于这种情况,这不是最好的,但是:

<input type="text" onkeyup=" if( !+this.value && +this.value != 0 ){ this.value = '' }" />

几乎+this.value检查该值是数字还是返回NaN。如果是,NaN那么它会擦除该字段。

编辑:添加&&为“0”我的错误

于 2013-08-15T14:27:18.113 回答