Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JavaScript/jQuery进行简单数字验证_Javascript_Jquery_Validation - Fatal编程技术网

使用JavaScript/jQuery进行简单数字验证

使用JavaScript/jQuery进行简单数字验证,javascript,jquery,validation,Javascript,Jquery,Validation,JavaScript/jQuery中有没有简单的方法来检查变量是否为数字(最好没有插件)?我想提醒变量是否为数字 提前感谢……:) 或 检查号码是否为非法号码: <script type="text/javascript"> document.write(isNaN(5-2)+ "<br />"); document.write(isNaN(0)+ "<br />"); document.write(isNaN("Hello")+

JavaScript/jQuery中有没有简单的方法来检查变量是否为数字(最好没有插件)?我想提醒变量是否为数字

提前感谢……
:)

检查号码是否为非法号码:

<script type="text/javascript">


    document.write(isNaN(5-2)+ "<br />");
    document.write(isNaN(0)+ "<br />");
    document.write(isNaN("Hello")+ "<br />");
    document.write(isNaN("2005/12/12")+ "<br />");

</script>

您需要循环遍历字符串并为每个字符调用此函数

使用标准javascript函数

isNaN('9')// this will return false
isNaN('a')// this will return true

我不建议使用
isNaN
函数来检测数字,因为Java脚本类型强制

例:

您还应该记住,
isNaN
将为浮点数返回false(is number)

isNaN('1e1'); // is number
isNaN('1e-1'); // is number
我建议改为使用函数:

function isNumber(n) {
  return !isNaN(parseFloat(n)) && isFinite(n);
}

可以使用下面的代码进行此操作。我不会完全依赖伊斯南。isNaN向我显示了不一致的结果(例如,isNaN不会检测到空格)


不这不是上述问题的重复。我希望在没有插件的情况下进行验证..如果它对您有效,那么您想说什么,我是否修改@Pranay Rana的答案?我只是想说,使用isNaN函数并不是检查Java脚本中字符串是否为数字的最“正确”的方法。还有其他简单的方法吗??你能给我做把小提琴吗??)你不喜欢我在答案中建议使用的函数吗?我喜欢。。你可以用提琴来演示吗?hello@Pranay Rana,你可以用提琴来演示吗?很好,但是当用户删除输入中的所有字符时会发生什么?nonNumericChars.length仍然为零,并且不会引发警报。你还想和tat事件有什么关系吗?啊,你说得对。我以为我抓住了你的错误,但结果证明我错了。我喜欢你的答案,没关系。最棒的是,我们总能找到一些方法来修复所有错误。所以,如果你能发现错误,我会学到更多:)
isNaN('9')// this will return false
isNaN('a')// this will return true
isNaN(""); // returns false (is number), a empty string == 0
isNaN(true); // returns false (is number), boolean true == 1
isNaN(false); // returns false (is number), boolean false == zero
isNaN(new Date); // returns false (is number)
isNaN(null); // returns false (is number), null == 0 !!
isNaN('1e1'); // is number
isNaN('1e-1'); // is number
function isNumber(n) {
  return !isNaN(parseFloat(n)) && isFinite(n);
}
//Event of data being keyed in to textbox with class="numericField".
$(".numericField").keyup(function() {
    // Get the non Numeric char that was enetered
    var nonNumericChars = $(this).val().replace(/[0-9]/g, '');                                  
    if(nonNumericChars.length > 0)
        alert("Non Numeric Data entered");
});