新的RegExp不起作用

时间:2012-01-30 07:48:47

标签: javascript regex

我有一个正则表达式,可以验证3个连续数字。

/^\d{3}$/.test("12345")  // false
/^\d{3}$/.test("123")    // true

如何将此正则表达式模式转换为RegExp对象?

我试过了:

var re = new RegExp("\\d{3}", "gi");

re.test("12345")返回true

我做错了什么?

4 个答案:

答案 0 :(得分:5)

var re = new RegExp("^\\d{3}$", "gi");

(我认为在这种情况下,“gi”标志不是必需的......)

http://jsfiddle.net/GyZqw/

答案 1 :(得分:2)

使用此正则表达式:

^\d{3}$

指定行的开头和结尾。

在JavaScript中你应该转义\ char,即:

"^\\d{3}$"

答案 2 :(得分:2)

new RegExp("^\\d{3}$", "gi")
你忘记了^和$

答案 3 :(得分:1)

var re = new RegExp("^\\d{3}$");