2016-07-29 76 views
0

reuirement:至少2阿爾法,2號與最少8個字符
字母數字可以在任何地方 的8個字符的最小長度(最大長度爲32個字符 必須包含至少2α和2個數字字符 可以包括短跑,逗號,句號,空間()reg表達式以JavaScript

/^(?=.*[a-zA-Z]{2})(?=(.*\d){2})(?!^[0-9]*$)(?!^[A-Za-z]*$) 

我試圖以上,但其驗證只有兩個consequtive字符 例如測試情形1:te3f3, - (通過) 測試案例2:t2g2。, - g(失敗),但這必須通過甚至t hough alha字符不連續

回答

3

要查找字符串是否包含某個東西,您必須允許其間存在字符。圍繞非捕獲組中的預見表達式。

^(?=(?:.*[A-Za-z]){2})(?=(?:.*\d){2})[A-Za-z0-9 ,.-]{8,32}$ 

Regex101 Demo

要獲得更快的正則表達式,更具體比.*

^(?=(?:[^A-Za-z]*[A-Za-z]){2})(?=(?:\D*\d){2})[A-Za-z0-9 ,.-]{8,32}$