2013-03-21 89 views
1

我想寫一個表達式允許:限制表達式

1)在前五個點中輸入數字。

2)在接下來的6點輸入數字和/或字母的。

3),其驗證了總長度爲= 11不多也不少的檢查。

我能夠通過下面的表達式來實現#1 &#2,但是無法將驗證檢查總數據確切地是11既不少也不多。有人可以提供一些輸入。謝謝

^([\d{5}]*[0-9a-zA-Z]{6})$ 
+0

數據表示...您想檢查不應少於或多於11? – 2013-03-21 17:41:50

+2

你爲什麼使用'*'?刪除它,它將只有11 :)'^ \ d {5} [0-9a-zA-Z] {6} $' – HamZa 2013-03-21 17:41:56

+0

爲什麼你有*如果5位數是必需的? – 2013-03-21 17:43:08

回答

2

這部分失敗:[\d{5}]*

它匹配「any digit,{,a 5 or or } 0或更多次。

您必須尋找\d{5},這意味着「五位數」

+0

「任何數字5次」或「任何5位數字」?前者意味着它們是相同的5位數字。 – 2013-03-21 17:44:27

+0

@BabakNaffas好點,我編輯。 – sp00m 2013-03-21 17:46:04

1

這是你想要什麼:

^\d{5}[0-9a-zA-Z]{6}$

0

單行,你可以指定你的對手必須在發生該行的結束如下...

^\s*([0-9]{11})\z 

希望我t幫助

0

這個[\ d {5}] *導致了問題。使用此 -
/^ [0-9] {5} [a-zA-Z0-9] {6} $/