如何使用正则表达式,只能输入一个数字字符?
Dim regex As Regex = New Regex("[^0-9]+")
答案 0 :(得分:1)
在这种情况下绝对不需要正则表达式。相反,将TextBox的MaxLength设置为1,然后在TextChanged事件中使用以下代码:
If TextBox1.Text.Length > 0 AndAlso Not Char.IsDigit(TextBox1.Text(0)) Then
'Invalid input
End If
答案 1 :(得分:1)
检查字符串是否为VB中的十进制数字(从0到9):
If string Like "[0-9]" Then
#
模式也匹配Unicode digits in other languages(类似于Char.IsDigit
):
If "9" Like "#" Then
https://docs.microsoft.com/en-us/dotnet/visual-basic/language-reference/operators/like-operator
答案 2 :(得分:0)
试试这个
Dim regex As Regex = New Regex("^[^0-9]+$")
通过添加^
之前和后面一美元,您可以检查确切的字符串。
如果您只需要一个号码,则可以删除加号。否则它只是零或一。
答案 3 :(得分:0)
你的正则表达式[^0-9]+
匹配除十进制数字之外的任何非零数字。
你的目标似乎是匹配一个十进制数字
根据正则表达式的风格,相应的正则表达式是
[0-9]
或者,具有更强大的味道
\d