如何检查字符串是否只包含数字?

Beg*_*ner 28 vb.net

Dim number As String = "07747(a)"

If number.... Then

endif
Run Code Online (Sandbox Code Playgroud)

我希望能够检查字符串内部以查看它是否只有数字,如果它只包含数字然后运行if语句中的任何内容?我用什么检查来检查字符串是否只包含数字而不包含alpha ot()等.?

我想要检查的是移动号码,所以应该接受077 234 211,但其他alpha不应该被接受

Bal*_*a R 60

您可以使用这样的正则表达式

If Regex.IsMatch(number, "^[0-9 ]+$") Then

...

End If
Run Code Online (Sandbox Code Playgroud)


CD.*_*D.. 30

使用IsNumeric函数:

IsNumeric(number)
Run Code Online (Sandbox Code Playgroud)

如果要验证电话号码,则应使用正则表达式,例如:

^\(?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{3})$
Run Code Online (Sandbox Code Playgroud)

  • @Beginner,你的帖子只说数字,你应该把它改成数字和空格,如果这是你的要求.我们在这里很有文字. (5认同)
  • 对于十进制数,`IsNumeric`也返回true,这可能不是OP想要的. (2认同)

Mat*_*att 8

http://msdn.microsoft.com/en-us/library/f02979c7(v=VS.90).aspx

如果您不需要返回的整数,则可以不传递任何内容

if integer.TryParse(number,nothing) then
Run Code Online (Sandbox Code Playgroud)

  • @Beginner我不确定你是否可以使用number.Replace("","")删除空格 (2认同)

Wik*_*żew 6

你可以删除所有空格并利用LINQ All:

确定序列的所有元素是否满足条件.

使用它如下所示:

Dim number As String = "077 234 211"
If number.Replace(" ", "").All(AddressOf Char.IsDigit) Then
    Console.WriteLine("The string is all numeric (spaces ignored)!")
Else
    Console.WriteLine("The string contains a char that is not numeric and space!")
End If
Run Code Online (Sandbox Code Playgroud)

仅检查字符串是否仅包含数字,请使用:

If number.All(AddressOf Char.IsDigit) Then
Run Code Online (Sandbox Code Playgroud)