我正在寻求有关我的程序的帮助。我有一个用户输入 6 位数字;其中输入必须是字母数字。我已经完成了TryParse
数字的方法,但我正在寻找字符串是否包含 alpha 的验证。
我知道您必须使用ASC
,但不确定如何制定范围说Asc((Chr(65) <= Chr(90)))
(AZ 之间)和说(如果我的输入包含 6 个字符内的任何这些值,则返回 true。我不断得到重载解决方案和希望知道如何正确编码,以便变量准确。
我正在寻求有关我的程序的帮助。我有一个用户输入 6 位数字;其中输入必须是字母数字。我已经完成了TryParse
数字的方法,但我正在寻找字符串是否包含 alpha 的验证。
我知道您必须使用ASC
,但不确定如何制定范围说Asc((Chr(65) <= Chr(90)))
(AZ 之间)和说(如果我的输入包含 6 个字符内的任何这些值,则返回 true。我不断得到重载解决方案和希望知道如何正确编码,以便变量准确。
这是使用正则表达式的好地方
Dim input = ...
If Regex.IsMatch(input, "^\w+$") AndAlso input.Length = 6 Then
' It's a match
Else
' It's not a match
End If
这将匹配任何仅由长度等于的字母组成的字符串6
您可以遍历每个char
并检查它是否是字母。如果是这样,请将标志设置为 true。
Dim containsAlpha Boolean = False
For i As Integer = 0 To input.Length - 1
If Char.IsLetter(input(i)) Then
containsAlpha = True
Exit For
End If
Next
Char.IsLetter将匹配 Unicode 字母,因此不仅仅是拉丁语 AZ(可能是也可能不是您真正想要的)。