Javascript Regex不是在编写脚本而是在控制台上工作

Alb*_*eis 3 javascript regex

我试图只验证4个这样的数字:

正则表达式

它正在上面的页面上工作,但是当我在脚本上使用它时它不起作用:

var reg = new RegExp('^\d{4}$/');
reg.test(1234);
reg.test('1234');
Run Code Online (Sandbox Code Playgroud)

两人都回来了......

如果我在浏览器控制台上测试如下:

/^\d{4}$/.test('1234');
/^\d{4}$/.test(1234);
Run Code Online (Sandbox Code Playgroud)

两者都是真的.

我错过了什么?

Chi*_*ung 8

问题是因为您RegExp没有正确初始化.

你可以这样做:

// Note the \\ to escape the backslash
var reg = new RegExp('^\\d{4}$');
Run Code Online (Sandbox Code Playgroud)

要么

var reg = new RegExp(/^\d{4}$/);
Run Code Online (Sandbox Code Playgroud)