منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[vb6.0] كيف اشترط على المستخدم ان تتكون كلمة السر من احرف كبيره وارقام ورموز ؟ - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغات البرمجة الاخرى (http://vb4arb.com/vb/forumdisplay.php?fid=4)
+--- قسم : قسم لغة vb6.0 (http://vb4arb.com/vb/forumdisplay.php?fid=18)
+---- قسم : قسم أسئلة vb6.0 (http://vb4arb.com/vb/forumdisplay.php?fid=28)
+---- الموضوع : [vb6.0] كيف اشترط على المستخدم ان تتكون كلمة السر من احرف كبيره وارقام ورموز ؟ (/showthread.php?tid=46500)



كيف اشترط على المستخدم ان تتكون كلمة السر من احرف كبيره وارقام ورموز ؟ - Microformt - 06-07-23

الاخوة الكرام
السلام عليكم ورحمة وبركاته
كيف اشترط على المستخدم  ان تتكون كلمة السر  من احرف كبيره وارقام ورموز ؟
وجزكم الله  خيراً


RE: كيف اشترط على المستخدم ان تتكون كلمة السر من احرف كبيره وارقام ورموز ؟ - Taha Okla - 07-07-23

وعليكم السلام ورحمة الله وبركاته


يوجد عدة طرق منها :
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