Javascript正则表达式语法错误?

时间:2012-03-13 20:04:29

标签: javascript regex

我正在尝试根据从隐藏输入元素中提取的字符串构建的正则表达式来计算测试字符串,代码如下

HTML
<input type="hidden" name="reg_2" id="reg_2" value="^\\d{5}$">

JS
var regTest = new RegExp( $('#reg_2').val(), 'g' );
var valid = "12345";
var invalid = "47";
alert(regTest.test(valid));<--Returns false

它一直在评估为false,我不确定语法是否错误或者是否还有其他我缺失的东西。我尝试使用和不使用全局标志,我也确认jQuery选择器返回正确的值。欢迎任何帮助或见解。谢谢。

更新

感谢您的快速回复。我正在关注Mozilla Dev Network上的示例,它在RegEx构造函数中显示了一个带有双反斜杠的硬编码字符串,并认为这是我需要传递给我的脚本的内容。再次感谢。

2 个答案:

答案 0 :(得分:2)

在输入值中删除一个斜杠:

<input type="hidden" name="reg_2" id="reg_2" value="^\d{5}$">

答案 1 :(得分:1)

您无需转义反斜杠。隐藏输入的值应该是"^\d{5}$"。这是一个working example