試圖通過JQuery和驗證插件做一些JavaScript表單驗證。YA Javascript正則表達式問題
我在做自定義的驗證規則,有這麼大的匹配這個規則...
A-z 0-9 - _ ' & .
基本上,我想不通了「&的輸入值。部分。這裏是我現在有...
/^[A-z0-9_]+(-)+$/i
...我不知道這是理想的任何手段,它適用於它的涵蓋範圍。
但是,對以上的字符進行正則表達式測試的最佳方法是什麼?謝謝。
試圖通過JQuery和驗證插件做一些JavaScript表單驗證。YA Javascript正則表達式問題
我在做自定義的驗證規則,有這麼大的匹配這個規則...
A-z 0-9 - _ ' & .
基本上,我想不通了「&的輸入值。部分。這裏是我現在有...
/^[A-z0-9_]+(-)+$/i
...我不知道這是理想的任何手段,它適用於它的涵蓋範圍。
但是,對以上的字符進行正則表達式測試的最佳方法是什麼?謝謝。
如果你想匹配您的任何上述匹配標準,那麼任意次數下面的代碼應該工作:
/^[a-zA-Z0-9&_.\-']+$/
我已經包括下面的一些例子測試當模式應該是有效的或無效的註釋中注意:
<script type="text/javascript">
//A-z 0-9 - _ ' & .
//valid
var test_string = "This'Is'-Val1d&_.";
if (test_string.match(/^[a-zA-Z0-9&_.\-']+$/)){
alert("first test matched");
}else{
alert("first test did not match");
}
//invalid - whitespace not allowed
test_string = "This IsNot- Va'l1d & _ .";
if (test_string.match(/^[a-zA-Z0-9&_.\-']+$/)){
alert("second test matched");
}else{
alert("second test did not match");
}
//invalid - ! is not allowed
test_string = "'ThisIsNotValid!'";
if (test_string.match(/^[a-zA-Z0-9&_.\-']+$/)){
alert("third test matched");
}else{
alert("third test did not match");
}
</script>
不能完全確定我明白你想匹配的內容,但它看起來像你想要的字母,數字或符號-_'&.
的任意組合。如果是這樣的情況下,使用此:
/^[-\w.'&]+$/
注意,+
可以被刪除或取決於你想要多少個字符,以配合*
取代。
編輯 - 這意味着什麼一點解釋:
[-
- 當-
是在開頭的字符類使用,它算作文字-
。如果它在[]括號內使用other than right at the beginning or end of the class,則表示範圍如A-Z
或0-9
。\w
- 匹配任何字母,任意數字或_
符號。這通常相當於[a-zA-Z0-9_]
。.'&
- 在字符類中,除了文字字符以外,它們沒有特殊含義。+
- 意味着「至少一次」。如果要允許空字符串,可以將其替換爲*
,如果只需要一個字符,則將其刪除,或使用{8}
等量詞。
爲了我們明白你想要什麼,你能給我們一個情侶輸入/輸出例子? – 2011-02-14 19:31:34
你是否意識到你的'[A-Z]'沒有做到你認爲的那樣? – tchrist 2011-02-14 20:04:49