2011-05-26 29 views
2
Dim phoneNumber As String = "077 47578 587(num)" 

如何将上述字符串从每个不是数字的字符中去掉。所以只剩下数字,然后检查以确保它是11个字符长?如何去除所有字母的字符串?

+0

重复的http://stackoverflow.com/questions/6138896/how-to-check-if-a-string-contains-only-numbers – 2011-05-26 13:49:32

回答

13
dim number as string = Regex.Replace(phoneNumber,"[^0-9]","") 

if number.length = 11 then 
'valid number 
else 
'not valid 
end if 
0

一个可能的解决方案是将字符串视为字符数组,然后仅检索您定义的参数中包含ascii代码的那些字符。

ASCII代码可以在资源中找到,如:http://www.bolen.net/html/misc/ASCII-codes.html

或者,你可以使用正则表达式来检索只有你想要的字符。我的正则表达式不是那么热,所以我不能举一个例子:)

2
  • 你可以循环每个字符,并检查它是否是一个数字。虽然循环,检查接受的字符(数字)的数量少于11 或
  • 使用正则表达式来删除所有字母,但你还是会在年底来算....
0
Dim phoneNumber As String = "077 47578 587(num)" 

Dim newPhoneNumber = String.Empty 
For i = 0 To phoneNumber.Length - 1 
    If IsNumeric(phoneNumber(i)) Then 
     newPhoneNumber += phoneNumber(i) 
    End If 
Next 

Dim valid = newPhoneNumber.Length = 11 
相关问题