2017-12-21 16 views
0

코드는 이것이다 : VB에서 문자의 유효성을 검사 할 때 백 스페이스 및 공간을 확보하는 방법글자의 유효성을 검사 할 때 백 스페이스와 공백을 허용하는 방법은 무엇입니까? 내가 사용하고

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 

? 백 스페이스에 대한

+0

이것이 올바른지 확인하십시오 : '또는 Asc (e.KeyChar) <90'? 90 점 이상인지 확인하지 않으셨습니까? –

+0

예, 좋은 UI의 핵심 요소는 모든 잘못된 키 입력에 대해 사용자를 꾸짖고 처벌하는 것입니다. 오타가 허용되지 않았습니다. – Plutonix

답변

2

문자 코드는 8과 공간 (32), 그래서 코드가 있어야한다 : 내가 처음 False가 발생하면 평가를 중지, AndAlso을 사용

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 

참고.

+2

'AndAlso'로 전환 했으므로 [**'OrElse' **] (https://stackoverflow.com/q/8409467)도 사용할 수 있습니다.). 또한 'Or/OrElse' 검사를 괄호로 그룹화하는 것을 고려하십시오. 그렇게하면 읽는 것이 더 쉬울뿐만 아니라 올바르게 실행되는지도 확인할 수 있습니다. –

+0

@VisualVincent 완벽하게 유효한 포인트, 감사합니다! –