怎么用JavaScript检测input里输入的不是数值?

输入框里必须为数值,请问怎么来检测,如果不是数值或为空,则提示:请输入数值

第1个回答  2006-10-13
分析了使用正则表达式和使用isNaN函数验证输入的内容是否全部为数字的区别

1、使用正则表达式
var patrn=/^[0-9]{1,20}$/;
if(xxx!=null && !patrn.exec(xxx))
{
alert("请保证输入的全是数字");
}
这个表达式要求输入的字符每一个都必须是数字,123是正确的而1.23不正确

2、使用isNaN
if (isNaN(xxx))
{
alert('请输入数字!');
}
这个表达式认为123,1.23,-1.23甚至是-.23都是正确的

可以看出,使用正则表达式更适合验证输入内容必须为纯数字的情况,而使用isNaN对输入的内容要求更为宽松一些
第2个回答  2006-10-13
<script type="text/javascript">
function yanzi() {
if (isNaN(document.getElementById("yanzi").value)) {
alert("不是!");
} else {
alert("是!");
}
}
</script>
<input type="text" id="yanzi" />
<input type="button" value="检测!" onclick="yanzi()" />本回答被提问者采纳
第3个回答  2006-10-13
is_int
is_NaN
is_number?
相似回答