我有一个<input type='text' />
元素,用户必须插入一个数字。
如何检查value
是否包含除数字之外的内容? (没有但允许数字)
答案 0 :(得分:1)
使用Regex
var regEx = new RegExp('^[0-9]+$');
请参阅此JSFiddle
var num = 'AA'
var regEx = new RegExp('^[0-9]+$');
alert(regEx.test(num))
答案 1 :(得分:1)
您可以使用HTML 5 pattern
attribute:<input type="text" pattern="\d*" />
\d*
是regular expression,读作“数字为零或更多次。”
答案 2 :(得分:0)
使用jQuery - $ .isNumeric(value)
答案 3 :(得分:0)
当用户输入内容时,输入会失去焦点,请尝试以下操作:
$('input:text').blur(function(){
var text = $(this).val();
if (text.match(new RegExp("[^0-9]", "g")) != null){
alert("Not only numbers entered!");
}
});
这意味着:当焦点丢失时,我们尝试在输入值中找到非数值
答案 4 :(得分:0)
对于这种情况,这不是最好的,但是:
<input type="text" onkeyup=" if( !+this.value && +this.value != 0 ){ this.value = '' }" />
非常+this.value
检查值是否为数字,或者返回NaN
。如果它NaN
,那么它就会删除该字段。
编辑:添加&&
为'0'我的错误