首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >电话号码正则表达式

电话号码正则表达式
EN

Stack Overflow用户
提问于 2011-09-19 09:54:38
回答 4查看 2.9K关注 0票数 4

我正在检查一个应用程序的c#代码并进行文档记录。在浏览代码时,我看到了一个不同寻常的美国电话号码正则表达式。正则表达式如下

代码语言:javascript
运行
复制
 @"^[01]?[- .]?(\([2-9]\d{2}\)|[2-9]\d{2})[- .]?\d{3}[- .]?\d{4}$";

我从上面的电话号码得出的结论是01.(29).123.4567或01-38-111-1111。

我的解释正确吗?对该正则表达式的任何见解都值得高度赞赏。以上正则表达式的例子将帮助我学习更多关于正则表达式的知识。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-09-19 10:00:22

从左到右阅读...

  • ^[01]?可能以-..
  • (([2-9]\d{2})|[2-9]\d{2})开头可能后面跟一个代码,空格或必须以2和<->D20>之间的数字开头,然后是任意两个数字。(奇怪的是,这重复了两次,捕获组应该总是包含相同的部分,奇怪)。这可能意味着跳过了括号,这会更有意义。通常,您可以使用代码字符进行escape.
  • [- .]?。<代码>H246><>F247>后面必须跟任意四位数字。< - >H246>

<>可能后跟-,空格或code必须在后面跟任意四位数字。

票数 11
EN

Stack Overflow用户

发布于 2011-09-19 10:04:17

^01?=0、1或无

-。?=-或者。或者什么都不做

((2-9\d{2}) =第一个数字2或更大,后跟2位数字,可以是b/w 0到9的任何数字..表示012或112都可以正常工作

|=或符号

2-9\d{2}) =第一个数字b/w 2和9,后跟2个数字b/w 0-9

-。?=表示-或。或者什么都不做

\d{4}=任意四个数字b/w 0-9

$=它确保正则表达式以前面的$ sign结尾。^和$做同样的事情,但是它只检查正则表达式的开头。

票数 0
EN

Stack Overflow用户

发布于 2019-01-23 15:56:41

代码语言:javascript
运行
复制
^\d{2}-\d{3,15}$

它将有助于将手机号码的范围从3个t0 15位。

例如:91-xxxxxxxxxxxxxxx

上面的x为3到15位的RegularExpression(@"^\d{2}-\d{3,15}$",ErrorMessage =“无效手机号”)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7465778

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档