我試圖構造一個正則表達式來組合範圍內的有效部分和/或序列號。JavaScript正則表達式:複雜的輸入驗證
有效號碼是一個兩個α,三位數圖案或/ [AZ] {2} \ d {3}/
i.e. aa123 or ZZ443 etc...
有效的序列號是一個五位圖案或/ \ d {5}/
13245 or 31234 and so on.
這部分不是問題。我想組合和範圍也是有效的:
12345, ab123,ab234-ab245, 12346 - 12349
- 最終目標。範圍和/或系列部分和/或序列號的任意組合。請注意,在指定範圍或系列中的逗號後,空格是可選的。需要注意的是各種零件號對範圍兩側的兩個相同的字母組合(即AB 123 - AB 239)
我一直在此表達了兩天,現在摔跤,和避風港」我們走來了什麼比這更好:
/^(?:[A-z]{2}\d{3}[, ]*)|(?:\d{5}[, ]*)|(?:([A-z]{2})\d{3} ?- ?\4\d{3}[, ]*)|(?:\d{5} ?- ?\d{5}[, ]*)$/
...
我正則表達式福較弱。
我不認爲你可以用正則表達式檢查連字符兩邊的兩個字母組合是否相同,但我不是正則表達式專家。 – 2010-06-16 00:07:44
我不認爲匹配範圍是正確的。例如,嘗試查找代碼來驗證正則表達式中的IP地址。我從來沒有見過這樣的解決方案(檢查小於255的數字似乎是不可能的。) – Shawn 2010-06-16 21:47:24