正在寻找一个正则表达式 - 8个char min w/1 num和1个char

Tor*_*ups 1 regex

我正在寻找一些帮助创建一个正则表达式,需要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)

cob*_*bal 6

就像是

^(?=.*[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,} $