我使用一个Jquery库,它在文件中采用json格式的Regular表达式并尝试从文件中验证
"Studentnumber":{
regex: "/^[-/@#&$*\w\s]+$/",
alertText: "* Invalid Student Number"
}, // ...
我可以在我的文本框字段中使用它,如下所示
<input type="text" class="validate[required,custom[Studentnumber]] Textbox">
之前我曾经为该字段使用JavaScript正则表达式,如下所示
<input type="text" validate="regex" regex='^[-/@#&$*\w\s]+$' name="sno" id="sno">
当我使用JavaScript中用于jquery的相同正则表达式时。它没有在JavaScript中验证相同并给出不适当的结果。这两者有什么区别?
答案 0 :(得分:1)
由于您在字符串中使用退格键并且之后需要它们,因此您需要将它们转义,如下所示:
"Studentnumber":{
regex: "/^[-/@#&$*\\w\\s]+$/",
alertText: "* Invalid Student Number"
}
尽管如此,在看到这个之后我并不是百分之百确定,它可能是4个反斜杠而不是2个,但为什么的原因让我逃脱了。
答案 1 :(得分:0)
这取决于插件如何与regexp一起使用,尝试删除引号或构造新实例:
"regex": /^[-/@#&$*\w\s]+$/
或
"regex": new RegExp("/^[-/@#&$*\w\s]+$/")