VB确定字符串中的值

时间:2013-04-01 15:24:21

标签: vb.net validation

我正在寻找我的计划方面的帮助。我有一个用户输入6位数;其中输入必须是字母数字。我已经为数字做了TryParse方法,但我正在寻找字符串包含alpha的验证。

我知道你必须使用ASC但我不确定如何开发一个范围说Asc((Chr(65) <= Chr(90)))(在AZ之间)并且也说(如果我的输入包含6中的任何值)字符,返回true。我不断获得重载决策,并希望知道如何正确编码,以便变量准确。

2 个答案:

答案 0 :(得分: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

的字母的字符串

答案 1 :(得分: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字母,因此不仅仅是拉丁语A-Z(可能是您实际想要的,也可能不是。)