我使用以下正則表達式來匹配帳號。當我們最初把這個正則表達式放在一起時,規則是一個帳號只能以單個字母開頭。這已經改變了,我有一個賬號在字符串的開頭有3個字母。正則表達式有助於匹配多個字母
我想要一個正則表達式,它將匹配字符串開始處的最少1個字母和最多3個字母。最後一個問題是字符串的長度。它可以長達9個字符,最小值爲3.
這是我目前使用的。
'/^([A-Za-z]{1})([0-9]{7})$/'
有沒有一種方法,以配合這一切?
我使用以下正則表達式來匹配帳號。當我們最初把這個正則表達式放在一起時,規則是一個帳號只能以單個字母開頭。這已經改變了,我有一個賬號在字符串的開頭有3個字母。正則表達式有助於匹配多個字母
我想要一個正則表達式,它將匹配字符串開始處的最少1個字母和最多3個字母。最後一個問題是字符串的長度。它可以長達9個字符,最小值爲3.
這是我目前使用的。
'/^([A-Za-z]{1})([0-9]{7})$/'
有沒有一種方法,以配合這一切?
你想:
^[A-Za-z]([A-Za-z]{2}|[A-Za-z][0-9]|[0-9]{2})[0-9]{0,6}$
初始[A-Za-z]
確保它以字母開頭,第二位([A-Za-z]{2}|[A-Za-z][0-9]|[0-9]{2})
確保它至少有三個字符,並且在開始由字母一至三個,並最後一位[0-9]{0,6}
可以讓您最多可以輸入9個字符。
進一步解釋:
^ Start of string/line anchor.
[A-Za-z] First character must be alpha.
([A-Za-z]{2} Second/third character are either alpha/alpha,
|[A-Za-z][0-9] alpha/digit,
|[0-9]{2} or digit/digit
) (also guarantees minimum length of three).
[0-9]{0,6} Then up to six digits (to give length of 3 thru 9).
$ End of string/line marker.
試試這個:
'/^([A-Za-z]{1,3})([0-9]{0,6})$/'
這將使你從1至3個字母和3至9個字元。
這將匹配太短的「A」。 – 2010-09-29 04:47:18
這不符合:「A0A」? – 2010-09-29 04:45:03
謝爾登,原來是這樣的,你抓住了我的中期編輯。這個當前的問題通過確保字符2和3具有「AA」,「A0」或「00」的形式來解決這個問題。 – paxdiablo 2010-09-29 04:48:46
現在看起來不錯。 +1 – 2010-09-29 04:51:14