.net 验证字母时如何允许退格和空格?
我使用的代码如下:.net 验证字母时如何允许退格和空格?,.net,vb.net,validation,backspace,.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 如果Asc(e.KeyChar)
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
如果Asc(e.KeyChar)<65或Asc(e.KeyChar)<90_
然后Asc(e.KeyChar)<97或Asc(e.KeyChar)>122
MessageBox.Show(“请仅输入字母”)
e、 已处理=真
如果结束
在VB中验证字母时如何允许退格和空格?退格字符代码为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
If(Asc(e.KeyChar)<65或lse Asc(e.KeyChar)<90)_
AndAlso(Asc(e.KeyChar)<97或LSE Asc(e.KeyChar)>122)_
还有Asc(e.KeyChar)8和Asc(e.KeyChar)32那么
MessageBox.Show(“请仅输入字母”)
e、 已处理=真
如果结束
请注意,我使用了
和,在遇到第一个错误时停止计算。退格字符代码为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
If(Asc(e.KeyChar)<65或lse Asc(e.KeyChar)<90)_
AndAlso(Asc(e.KeyChar)<97或LSE Asc(e.KeyChar)>122)_
还有Asc(e.KeyChar)8和Asc(e.KeyChar)32那么
MessageBox.Show(“请仅输入字母”)
e、 已处理=真
如果结束
请注意,我使用了AndAlso
,在遇到第一个False
时停止求值。由于您切换到AndAlso
,您可能还需要使用;)。同样,考虑将代码< >或ORSER < /代码>用括号检查。这样读起来更容易,但您也可以确保它正确执行。因为您切换到了和,所以您可能还需要使用;)。同样,考虑将代码< >或ORSER < /代码>用括号检查。这样读起来更容易,但您也可以确保它正确执行。您确定这是正确的:还是Asc(e.KeyChar)<90
?你不是想检查它是否大于90吗?是的,任何一个好的UI的一个关键元素就是斥责并惩罚用户每一次错误的击键。不允许输入错误。您确定这是正确的:或Asc(e.KeyChar)<90
?你不是想检查它是否大于90吗?是的,任何一个好的UI的一个关键元素就是斥责并惩罚用户每一次错误的击键。不允许输入错误。