正则表达式只有一个数字

时间:2018-01-17 17:04:39

标签: regex vb.net

如何使用正则表达式,只能输入一个数字字符?

Dim regex As Regex = New Regex("[^0-9]+")

4 个答案:

答案 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