首先,抱歉蹩脚的头衔,但我想不出更好的一个.我需要测试密码以确保以下内容:
密码必须至少包含以下3项内容:
>大写字母
>小写字母
>数字
>特殊字符
这是我提出的(它有效,但我想知道是否有更好的方法):
Dim lowerCase As New Regex("[a-z]") Dim upperCase As New Regex("[A-Z]") Dim numbers As New Regex("\d") Dim special As New Regex("[\\\.\+\*\?\^\$\[\]\(\)\|\{\}\/\'\#]") Dim count As Int16 = 0 If Not lowerCase.IsMatch(txtUpdatepass.Text) Then count += 1 End If If Not upperCase.IsMatch(txtUpdatepass.Text) Then count += 1 End If If Not numbers.IsMatch(txtUpdatepass.Text) Then count += 1 End If If Not special.IsMatch(txtUpdatepass.Text) Then count += 1 End If
如果至少有3个标准未得到满足,我会处理它.我不熟悉正则表达式,并且已经在网上阅读了大量的教程.有没有办法将所有4个正则表达式合并为一个?但我想这样做不会让我检查是否满足至少3个标准.
另外,是否有一个网站有一个详尽的列表,列出了需要在正则表达式中转义的所有字符(具有特殊含义的那些 – 例如.$,^等)?
一如既往,TIA.我无法表达我认为这个网站有多棒.
你拥有它的方式是尽可能好.你可以在一行中完成这一切,但它会非常混乱,根本不会真正有用.
想想你想要做什么;你想检查四个不同的标准.由于每个标准基本上都是单一的比较,因此您需要单独检查每个标准,这就是您正在做的事情.