2010-07-27 78 views
0

蔭使用一個jQuery庫這需要經常表達的JSON格式的文件,並試圖驗證從文件jQuery的正則表達式問題

"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

隨機想法 - '&'vs'&'在你的HTML屬性中? – gnarf 2010-07-27 20:42:57

+1

你應該可以逃避/在正則表達式的內部。 – Robusto 2010-07-27 20:44:26

+0

此外,JavaScript允許您將RegExp定義爲'/^[ - \/@#&$ * \ w \ s] + $ /'(注意缺少引號),也可能有幫助。 – gnarf 2010-07-27 20:45:54

回答

1

由於您在字符串中使用退格,並希望他們之後,你需要逃避它們,像這樣:

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

雖然,我不是100%肯定船尾呃看着這個,它可能是4反斜槓而不是2,但推理爲什麼此刻逃脫了我。

0

這取決於插件用正則表達式是如何工作的,請嘗試刪除引號或構建一個新的實例:

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

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

非常感謝,非常感謝,非常感謝,非常感謝,非常感謝,非常感謝,非常感謝,謝謝。很多,非常感謝,非常感謝。 但有什麼區別在雙引號,並沒有它在j查詢 – Someone 2010-07-27 21:29:35