验证字母时如何允许退格和空格?

时间:2017-12-21 10:57:23

标签: .net vb.net validation backspace

我使用的代码是:

If Asc(e.KeyChar) < 65 Or Asc(e.KeyChar) < 90 _
And Asc(e.KeyChar) < 97 Or Asc(e.KeyChar) > 122 Then
    MessageBox.Show("Please enter letters only")
    e.Handled = True
End If

如何在VB中验证字母时允许退格和空格?

1 个答案:

答案 0 :(得分:2)

退格的字符代码为8,空格的字符代码为32,因此您的代码应为:

If (Asc(e.KeyChar) < 65 OrElse Asc(e.KeyChar) < 90) _
AndAlso (Asc(e.KeyChar) < 97 OrElse Asc(e.KeyChar) > 122) _
AndAlso Asc(e.KeyChar) <> 8 AndAlso Asc(e.KeyChar) <> 32 Then
    MessageBox.Show("Please enter letters only")
    e.Handled = True
End If

请注意,我使用了AndAlso,以便在遇到第一个False时停止评估。