2011-05-26 65 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 
相關問題