vb.net用正则表达式check密码规则(转帖+亲自实践)

时间:2022-11-11 15:39:38

软件登陆密码要求:

长度至少8位,必须包含数字,大写字母和特殊字符(如 !@#$%^&*()等等)

 

从网上找个找,又自己修改了一下,程序如下:

        Dim regexText As String
'正则表达式
regexText = "(?=^.{8,25}$)(?=(?:.*?\d){1})(?=.*[a-z])(?=(?:.*?[A-Z]){1})(?=(?:.*?[!@#$%*()_+^&}{<>,:;?.]){1})(?!.*\s)[0-9a-zA-Z!@#$%*()_+^&}{<>,:;?.]*$"

Dim regex As New System.Text.RegularExpressions.Regex(regexText)
'显示判断结果
MsgBox(regex.IsMatch(txtNewPassWord.Text.Trim))


 

其中:

{8,25}    规定了长度,大于等于8,小于等于25

(?=(?:.*?\d){1})    规定了至少1位数字

(?=(?:.*?[A-Z]){1})    规定了至少1位大写字母

(?=(?:.*?[!@#$%*()_+^&}{<>,:;?.]){1})    规定了至少1位特殊字符