仅检查数字验证

时间:2012-04-22 04:58:10

标签: javascript jquery

以下是我的一段代码,它检查输入格式是否是来自表单输入的EMAIL并相应地验证我想知道如何修改以下代码验证输入是否仅为数字

  if(email.length == 0 || email.indexOf('@') == '-1'){
                var error = true;
                $('#email_error').fadeIn(500);
            }else{
                $('#email_error').fadeOut(500);
            }

4 个答案:

答案 0 :(得分:2)

使用jQuery的IsNumeric方法。

http://api.jquery.com/jQuery.isNumeric/

$.isNumeric("-10");  // true

答案 1 :(得分:2)

if (email.match(/[0-9]+/)) {
   //it's all numbers
}

修改 正如评论中所提到的,为确保条目是所有数字,正则表达式必须包含开头和结尾字符^$

if (email.match(/^[0-9]+$/)) {
   //it's all numbers
}

或者更简洁:

if (email.match(/^\d+$/)) {
   //it's all numbers
}

我不值得为此修复而感到荣幸,但我确实想为那些可能会在以后找到它的人纠正它。

答案 2 :(得分:1)

检查将电子邮件地址转换为Number对象是否返回“Not a Number”值;如果没有,输入是一个数字。代码如下所示:

if(!isNaN(Number(email)) {

答案 3 :(得分:1)

我会用:

if(isNaN(email*1)){
    //evaluated to NaN
}else{
    //evaluated to number
}

在这种情况下,(email*1)有可能评估为NaN,因此检查失败,因为错误值列表为0,"",false,null,undefined,NaN