如何使用正则表达式验证Javascript中的数字字段?

时间:2013-03-29 07:23:12

标签: javascript

以下是否正确?

var z1=^[0-9]*\d$;
{
    if(!z1.test(enrol))
    {
        alert('Please provide a valid Enrollment Number');
        return false;
    }
} 

目前尚未在我的系统上运行。

5 个答案:

答案 0 :(得分:10)

您可以将其测试为:

/^\d*$/.test(value)

其中:

  1. 两端的/标记正则表达式的开头和结尾
  2. 两端的^$检查完整字符串而非部分匹配
  3. \d*查找多次出现的数字字符
  4. 您不需要同时检查\d[0-9],因为它们都是相同的 - 即匹配数字。

答案 1 :(得分:3)

var numberRegex = /^\s*[+-]?(\d+|\.\d+|\d+\.\d+|\d+\.)(e[+-]?\d+)?\s*$/
var isNumber = function(s) {
    return numberRegex.test(s);
};

"0"           => true
"3."          => true
".1"          => true
" 0.1 "       => true
" -90e3   "   => true
"2e10"        => true
" 6e-1"       => true
"53.5e93"     => true

"abc"         => false
"1 a"         => false
" 1e"         => false
"e3"          => false
" 99e2.5 "    => false
" --6 "       => false
"-+3"         => false
"95a54e53"    => false

答案 2 :(得分:2)

你这一个,它允许一个点和数字可以有“正”和“负”符号

/^[+-]?(?=.)(?:\d+,)*\d*(?:\.\d+)?$/.test(value)

答案 3 :(得分:1)

尝试:

var z1 = /^[0-9]*$/;
if (!z1.test(enrol)) { }

请记住,*为“0或更多”,因此它也允许空白值。如果您想要一个号码,请将*更改为+,即“1或更多”

答案 4 :(得分:0)

如果您要寻找一种简单的方法来测试字符串是否为数字,则只需输入有效的数字,即+,-或点。

这有效:

  

/ ^ \ d * $ /。test(“ 2412341”)

true

  

/ ^ \ d * $ /。test(“ 2412341”)

false