我想检查INPUT值是否为数字,如果不是,则应清除该字段。如果下面的脚本不是数字,则始终会发出警报,但从不清除输入。谁知道我做错了什么?
<script>
function numeric(input)
{
if(isNaN(input))
{
alert("Is not a numeric value");
input.value="";
}
}
</script>
<input type="number" value="" name="<?php echo $x; ?>" onblur="return numeric(value)"/>
答案 0 :(得分:1)
使用此
$( "#numerictext" ).keyup(function() {
var numberRegex = /^[+-]?\d+(\.\d+)?([eE][+-]?\d+)?$/;
var str = $('#numerictext').val();
if(!numberRegex.test(str)) {
alert("Is not a numeric value");
$('#numerictext').val('')
}
});
<input type="number" id="numerictext" value="" name="<?php echo $x; ?>"/>
答案 1 :(得分:1)
您将值传递给函数,然后尝试通过引用其值来清除输入。相反,尝试:
<script>
function numeric(input)
{
if(isNaN(input.value))
{
alert("Is not a numeric value");
input.value="";
}
}
</script>
<input type="number" value="" name="<?php echo $x; ?>" onblur="return numeric(this)"/>