2016-07-29 36 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}$