我做一个程序,将确定在vb.net一个密码的强度彼此的2点相同的字符密码检验器 - 检查与相邻
“强”密码的特点如下:
1)必须具有长的至少8个字符
2)必须是字母,数字和符号
3)的组合必须有至少2个大写字母和
4)不得有2个相同的字符彼此相邻。
实施例: b @ LLp3n =弱
2P @ ssw0rd =弱
k3Yb0Ard! =斯特朗
C0MPUT3R =弱
S + @ Rcr4ft =强
问题: 我的关心是用于检查相邻彼此的2个相同的字符正确的代码。
这里是代码:
Public Class Form1
Private Sub btnDisplay_Click(sender As Object, e As EventArgs) Handles btnDisplay.Click
Dim password As String = txtInput.Text
Dim numUpper As Integer = 2
Dim passLength As Integer = 8
Dim specialLength As Integer = 1
Dim upper As New Text.RegularExpressions.Regex("[A-Z]")
Dim specialChar As New Text.RegularExpressions.Regex("[^a-zA-Z0-9]")
If password.Length < passLength Then
MessageBox.Show("The Password Is Weak-")
ElseIf upper.Matches(password).Count < numUpper Then
MessageBox.Show("The Password Is Weak!")
ElseIf specialChar.Matches(password).Count < specialLength Then
MessageBox.Show("The Password Is Weak+")
Else
MessageBox.Show("The Password Is Strong")
End If
End Sub
End Class
我希望有人能帮助我摸不着头脑。
'如果Regex.IsMatch(password,“(。)\ 1”)'...... –
非常感谢@WiktorStribiżew:) – m1ks
看到我的答案,我添加了一些更多的细节。 –