我有一个<input type='text' />
元素,用户必须插入一个数字。如何检查是否value
包含数字以外的内容?(只允许数字)
问问题
108 次
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 回答
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 回答