Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 验证字母时如何允许退格和空格?_.net_Vb.net_Validation_Backspace - Fatal编程技术网

.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的一个关键元素就是斥责并惩罚用户每一次错误的击键。不允许输入错误。