7

以下是正确的吗?

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

它目前无法在我的系统上运行。

4

6 回答 6

23

您可以将其测试为:

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

在哪里:

  1. /两端标记正则表达式的开始和结束
  2. 末尾的^and是检查完整字符串而不是部分匹配$
  3. \d*查找多次出现的数字字符

您不需要检查两者\d[0-9]因为它们都做同样的事情 - 即匹配号码。

于 2013-03-29T07:24:50.597 回答
13
var numberRegex = /^\s*[+-]?(\d+|\d*\.\d+|\d+\.\d*)([Ee][+-]?\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
于 2019-08-03T21:00:02.950 回答
3

尝试:

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

请记住,*是“0 或更多”,因此它也允许空白值。如果您需要一个数字,请将其更改*+“1 或更多”

于 2013-03-29T07:25:12.573 回答
3

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

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

于 2013-03-29T07:27:01.080 回答
0

如果您正在寻找一些简单的东西来测试字符串是否为数字,只需有效的数字,没有 +、- 或点。

这有效:

/^\d*$/.test("2412341")

真的

/^\d*$/.test("2412341")

错误的

于 2019-02-08T09:50:34.293 回答
0

您还可以使用此正则表达式进行数字验证
/^\/(\d+)$/

于 2021-12-28T16:36:18.127 回答