我需要验证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