我正在寻找一些帮助创建一个正则表达式,需要8个字符(至少)w/1数字和1个字符(不是特殊字符).
示例:a1234567有效但12345678不有效
有关正则表达式newb的任何帮助吗?
编辑:
感谢快速回复 - VB中的实现如下所示
Dim ValidPassword As Boolean = Regex.IsMatch(Password, "^(?=.*[0-9])(?=.*[a-zA-Z])\w{8,}$")
Run Code Online (Sandbox Code Playgroud)
就像是
^(?=.*[0-9])(?=.*[a-zA-Z])\w{8,}$
Run Code Online (Sandbox Code Playgroud)
会工作
解剖:
^ 字符串的开头(?=.*[0-9]) 向前看并确保至少有1位数字(?=.*[a-zA-Z]) 向前看,确保至少有一个字母\w{8,} 实际上匹配8个以上的字符$ 字符串的结尾编辑:如果你想要额外的字符(不计入1个字母的要求)使用
^(?=.*[0-9])(?=.*[a-zA-Z]).{8,}$
Run Code Online (Sandbox Code Playgroud)
这将允许使用除换行符之外的任何字符
如果您只想要允许某些字符,请\w在第一个正则表达式中替换[A-Za-z0-9@#$%^&*]您选择的符号
^(?![0-9] $)(?![a-zA-Z_] $)\ w {8,} $