0

我正在寻求有关我的程序的帮助。我有一个用户输入 6 位数字;其中输入必须是字母数字。我已经完成了TryParse数字的方法,但我正在寻找字符串是否包含 alpha 的验证。

我知道您必须使用ASC,但不确定如何制定范围说Asc((Chr(65) <= Chr(90)))(AZ 之间)和说(如果我的输入包含 6 个字符内的任何这些值,则返回 true。我不断得到重载解决方案和希望知道如何正确编码,以便变量准确。

4

2 回答 2

0

这是使用正则表达式的好地方

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

于 2013-04-01T15:26:42.140 回答
0

您可以遍历每个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(可能是也可能不是您真正想要的)。

于 2013-04-01T15:26:49.330 回答