检查字符串是否为a-z Visual Basic

时间:2015-03-02 17:10:03

标签: vb.net

我试图验证字符串是否包含a-z或A-Z中的至少一个字符。我已经编写了这段代码来尝试验证,但是如果" dog"进入" strpassword"它仍然返回false。我是视觉基础的新手,确信我错过了一些愚蠢的东西。

        If strpassword Like "[*a-z]" Then
            lbloutput.Text = strpassword
            bolpasswordchk = True
        Else
            MessageBox.Show("Password must contain a letter", "Input error")
        End If

2 个答案:

答案 0 :(得分:1)

在通道外移动通配符有助于:

"*[a-z]"

但是,如果密码以小写字母结尾,则只返回True。

要匹配"至少1个字符a - Z",您需要:

"*[a-zA-Z]*"

这意味着从零个或多个字符(*)开始,后跟英文字母([a-zA-Z]),并以零个或多个其他字符(*)结尾。

答案 1 :(得分:0)

解决问题的简单方法是:

If strpassword.Any(Function(c) Char.IsLetter(c)) Then
    lbloutput.Text = strpassword
    bolpasswordchk = True
Else
    MessageBox.Show("Password must contain a letter", "Input error")
End If

有了这个你只检查你的假设:"至少一个字符"。 此解决方案不使用仅VB运算符LIKE,让您专注于学习。

如果您使用我的解决方案,请记得检查空字符串或空字符串。

@nunzabar答案更适合于"来自a-z或A-Z"问题,但通过我的解决方案,您可以接受非个字母。