Javascript正则表达式语法错误

Javascript regular expression syntax error?

本文关键字:错误 语法 正则表达式 Javascript      更新时间:2023-09-26

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

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构造函数中显示了一个带有双反斜杠的硬编码字符串,我认为这就是我需要传递给脚本的内容。再次感谢。

删除输入值中的一个斜线:

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

您不需要转义反斜杠。隐藏输入的值应该只是"^'d{5}$"。下面是一个工作示例。

相关文章: