我需要在C#中验证电话号码。
模式应包含10位数(必填),-
可用于模式中的任何位置。
9876543210
98-765-432-10
-98-765-432-10-
这就是我的尝试:
Regex a = new Regex(@"^([0-9]{10}\-*)$")
答案 0 :(得分:3)
如果您想使用确切的有效10位数电话号码(不多于,不能少于),您可以使用此正则表达式
string pattern = "([\-]?\d[\-]?){10}";
答案 1 :(得分:2)
这样做:
string num = "98-765-432-10"; // any number
if(Regex.IsMatch(num, "^[0-9-]+$") && num.Replace("-","").Length == 10){
// do something
}
在上面,你检查数字是否只包含连字符和数字,然后检查数字的长度是否为10.它还使用短路,这是更好的。
我不确定语法,但一定是它。
答案 2 :(得分:0)