繁体   English   中英

电话号码正则表达式C#连字符

[英]Phone number regex C# with hyphen

我需要在C#中验证电话号码。

该模式应包含10位数(必填)和-可在模式中的任何位置使用。

  • 例如1: 9876543210
  • 例如2: 98-765-432-10
  • 例如3: -98-765-432-10-

这是我试过的:

Regex a = new Regex(@"^([0-9]{10}\-*)$")

如果您想使用确切的验证10位数电话号码(不多于,不能少于),您可以使用此正则表达式

string pattern = "([\-]?\d[\-]?){10}";

做这个:

string num = "98-765-432-10";  // any number
if(Regex.IsMatch(num, "^[0-9-]+$") && num.Replace("-","").Length == 10){
  // do something
}

在上面,您检查数字是否仅包含连字符和数字,然后检查数字的长度是否为10.它还使用短路,这是更好的。

我不确定语法,但一定是它。

您可以使用以下正则表达式来检查输入是否正好是10位数。

^(?:-*\d-*){10}$

DEMO

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM