jQuery正则表达式问题

时间:2010-07-27 20:38:22

标签: jquery jquery-validate

我使用一个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中验证相同并给出不适当的结果。这两者有什么区别?

2 个答案:

答案 0 :(得分:1)

由于您在字符串中使用退格键并且之后需要它们,因此您需要将它们转义,如下所示:

"Studentnumber":{
  regex: "/^[-/@#&$*\\w\\s]+$/",
  alertText: "* Invalid Student Number"
}

尽管如此,在看到这个之后我并不是百分之百确定,它可能是4个反斜杠而不是2个,但为什么的原因让我逃脱了。

答案 1 :(得分:0)

这取决于插件如何与regexp一起使用,尝试删除引号或构造新实例:

"regex": /^[-/@#&$*\w\s]+$/

"regex": new RegExp("/^[-/@#&$*\w\s]+$/")