我做一個程序,將確定在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
看到我的答案,我添加了一些更多的細節。 –