2014-11-08 198 views
0

嗨,我想检查文本框中的用户输入是否只是字母,数字和炎症 - symobol。在他键入并点击按钮后,应该检查。到目前为止,我在下面做了。你能否告诉我这是否正确?这里缺少的是 - 符号被允许。文本框只有字母,数字和 -

For Each c As Char In TextBox1.Text 
    If Not Char.IsLetterOrDigit(c) Then 
     MsgBox "Only letters, digits and - symbol is allowed !" 
     Exit For 
    Else 
     MsgBox "OK" 
    End If 
Next 

回答

2
If Not Char.IsLetterOrDigit(c) AndAlso c <> "-"c Then 

c报价后说,你希望它是Char

你做什么都没有错。有人会说,“使用RegEx!”。你可以,但在这里没有必要,我更喜欢你对RegEx的可读性。

+0

但 - 符号是可选的我的意思是允许的数字,字母和 - 。但是用户并不是被迫使用他们所有的,他们只是被允许的。它会在这种情况下工作? – vbnetprogrammer 2014-11-08 08:47:17

+0

@vbnetprogrammer是的,没有什么是强制符号。它纯粹是检查某物是否与数字,数字或' - '不相等。如果你想知道它是否是其中之一,那么可以颠倒逻辑:如果Char.IsLetterOrDigit(c)OrElse c =“ - ”c Then' – TyCobb 2014-11-08 09:12:40

相关问题