1

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

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

4 回答 4

2

使用 jQuery 的 IsNumeric 方法。

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

$.isNumeric("-10");  // true
于 2012-04-22T05:00:16.620 回答
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
}

我不应该因为这个修复而受到赞扬,但我确实想为以后可能会发现这个问题的任何人纠正它。

于 2012-04-22T05:00:26.087 回答
1

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

if(!isNaN(Number(email)) {
于 2012-04-22T04:59:30.067 回答
1

我会使用:

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

在这种情况下,(email*1)有可能评估为NaN,因此将无法通过检查,因为虚假值列表是0,"",false,null,undefined,NaN

于 2012-04-22T05:06:10.547 回答