الاخوة الكرام
السلام عليكم ورحمة وبركاته
كيف اشترط على المستخدم ان تتكون كلمة السر من احرف كبيره وارقام ورموز ؟
وجزكم الله خيراً
وعليكم السلام ورحمة الله وبركاته
يوجد عدة طرق منها :
1- طريقة يستخدمها المحترفين : موجودة على الرابط التالي :
https://www.regular-expressions.info/vb.html
2 - ويوجد طرق أخرى يخترعها المبرمج نفسه كالتي صنعتها لبرامجي وهي:
أنشئ (Modules) جديد، وأجعل اسمه (TA) مثلاً،،
ثم ضع فيه الكود التالي :
كود :
Public Enum SymbolsChar
[Letter Upper] = 0 '= "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
[Letter Lower] = 1 '= "abcdefjhijklmnopqrstuvwxyz"
[Number Case] = 2 '= "0123456789"
[Symbols Case] = 3 '= " ._-+=!@#$%^&*\|/"
End Enum
Private Text As String
Private Function ContainX(ByVal strC As String) As Boolean
Dim x1 As String, x2 As String
For i = 1 To Len(Text)
x1 = Mid(Text, i, Len(strC))
If strC = x1 Then
ContainX = True
Exit For
Else
ContainX = False
End If
Next i
End Function
Public Function Contain(ByVal strC As String, syChar As SymbolsChar) As Boolean
Dim strSyChar As String
If syChar = [Letter Upper] Then
Text = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
ElseIf syChar = [Letter Lower] Then
Text = "abcdefjhijklmnopqrstuvwxyz"
ElseIf syChar = [Number Case] Then
Text = "0123456789"
ElseIf syChar = [Symbols Case] Then
Text = " ._-+=!@#$%^&*\|/" ' ضع هنا الرموز التي ترغب بالتحقق من أحدها
End If
Dim S1 As String
S1 = strC
For i = 1 To Len(S1)
S2 = Mid(S1, i, 1)
If ContainX(S2) Then
Contain = True
Exit For
Else
Contain = False
End If
Next i
End Function
وفي زر التحقق في النافذة التي فيها مربع إنشاء كلمة السر
استخدم الكود التالي :
كود :
If (TA.Contain(Text1.Text, [Letter Lower])) And (TA.Contain(Text1.Text, [Letter Upper])) _
And (TA.Contain(Text1.Text, [Number Case])) And (TA.Contain(Text1.Text, [Symbols Case])) Then
' Me.Caption = "OK" ' الكود هنا
Else
' Me.Caption = "No" ' رسالة التنبيه هنا في حال عدم التحقق
End If
في حال رغبتك بعدم توفر نوع محدد من الحروف بشكل مطلق أجعل قيمته في جملة التحقق أعلاه = False
مثلا :
كود :
If (TA.Contain(Text1.Text, [Letter Lower]) = False) Then
End If