我需要驗證C#中的電話號碼。電話號碼正則表達式帶連字符的C#
該模式應該包含10個數字(必選),-
可以在模式中的任何位置使用。
- 如1:
- 例如2:
98-765-432-10
- 如3:
-98-765-432-10-
這是我的嘗試:
Regex a = new Regex(@"^([0-9]{10}\-*)$")
我需要驗證C#中的電話號碼。電話號碼正則表達式帶連字符的C#
該模式應該包含10個數字(必選),-
可以在模式中的任何位置使用。
98-765-432-10
-98-765-432-10-
這是我的嘗試:
Regex a = new Regex(@"^([0-9]{10}\-*)$")
這樣做:
string num = "98-765-432-10"; // any number
if(Regex.IsMatch(num, "^[0-9-]+$") && num.Replace("-","").Length == 10){
// do something
}
在上面,您檢查數字是否只包含連字符和數字,然後檢查數字的長度是否爲10.它也使用短路,這是更好的。
我不確定語法,但它必須是它。
如果要使用精確的驗證10位數字的電話號碼(而不是更多,而不是更少),你可以使用這個表達式
string pattern = "([\-]?\d[\-]?){10}";
你的意思是確切的10位? – 2014-09-29 06:31:14
該模式應包含10位數字,可能包含或不包含連字符。 – 2014-09-29 06:33:08