[英]How to check if a textbox contains at least one digit in VB
我正在使用此代碼
If Not s.Contains("1") Or s.Contains("0") Or s.Contains("2") Or _
s.Contains("3") Or s.Contains("4") Or s.Contains("5") Or _
s.Contains("6") Or s.Contains("7") Or s.Contains("8") Or s.Contains("9") Then
MsgBox("Password must contain one digit")
End If
但是當我輸入多個數字時,它不起作用。 例如abc1234
,它顯示消息"Password must contain one digit"
,但是如果我寫abc1
,它就可以工作。
作為正則表達式解決方案的替代方法,可以使用Char.IsDigit
檢查字符是否為數字。
Dim str = "pass1234"
Dim hasDigit = str.ToCharArray().Any(Function(c) Char.IsDigit(c))
老實說,我只在這里使用一個正則表達式。
Dim re As New Text.RegularExpressions.Regex("\d")
If Not re.IsMatch(s) Then
MsgBox("Password must contain at least one digit")
End If
大功告成! ( \\d
是“任何一位數字”的縮寫。)
您必須在每個代碼上使用AndAlso Not
才能使代碼正常工作...
If Not s.Contains("1") AndAlso Not s.Contains("0") AndAlso Not s.Contains("2") AndAlso Not _
s.Contains("3") AndAlso Not s.Contains("4") AndAlso Not s.Contains("5") AndAlso Not _
s.Contains("6") AndAlso Not s.Contains("7") AndAlso Not s.Contains("8") AndAlso Not s.Contains("9") Then
MsgBox("Password must contain one digit")
End If
我看到了很多不錯的答案,但我只是想對您所綁定的內容進行一些擴展。 您錯過了額外的一組()。 您需要“不”整個if語句。
If Not ( s.Contains("1") Or s.Contains("0") Or s.Contains("2") Or _
s.Contains("3") Or s.Contains("4") Or s.Contains("5") Or _
s.Contains("6") Or s.Contains("7") Or s.Contains("8") Or s.Contains("9") ) Then
MsgBox("Password must contain one digit")
End If
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.