Regex 电话号码正则表达式
我正在审查申请的c#代码并编制文档。在浏览代码时,我看到了一个不寻常的正则表达式,表示美国电话号码。下面是正则表达式Regex 电话号码正则表达式,regex,Regex,我正在审查申请的c#代码并编制文档。在浏览代码时,我看到了一个不寻常的正则表达式,表示美国电话号码。下面是正则表达式 @"^[01]?[- .]?(\([2-9]\d{2}\)|[2-9]\d{2})[- .]?\d{3}[- .]?\d{4}$"; 我从上述电话号码得出的结论是01.(29)。123.4567或01-38-111-1111 我的口译正确吗?对正则表达式的任何洞察都将受到高度赞赏。以上正则表达式的示例将帮助我进一步了解正则表达式 从左到右读取 ^[01]?可能以0或1开头
@"^[01]?[- .]?(\([2-9]\d{2}\)|[2-9]\d{2})[- .]?\d{3}[- .]?\d{4}$";
我从上述电话号码得出的结论是01.(29)。123.4567或01-38-111-1111
我的口译正确吗?对正则表达式的任何洞察都将受到高度赞赏。以上正则表达式的示例将帮助我进一步了解正则表达式 从左到右读取
可能以^[01]?
或0
开头1
后面可能跟一个[-.]?
空格或-
必须以(([2-9]\d{2})|[2-9]\d{2})
和2
之间的数字开头,然后后跟任意两位数字。(奇怪地重复了两次,捕获组应该总是包含相同的部分,奇怪的)。这可能意味着跳过了括号,这会更有意义。通常,使用9
字符进行转义\
后面可能跟一个[-.]?
空格或-
后面必须跟任意三位数字\d{3}
后面可能跟一个[-.]?
空格或-
后面必须跟(和结尾)任何四位数字\d{4}$
- ^[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结尾。^与$执行相同的操作,但它只检查正则表达式的开头
^\d{2}-\d{3,15}$
这将有助于将手机号码的范围从3位到15位
例如:91-xxxxxxxxxxxxx
上述x
的范围为3到15位
[正则表达式(@“^\d{2}-\d{3,15}$
”,ErrorMessage=“无效电话号码”)]
它将采用91-XXXXXXXXX形式的数字x是10到15个数字我正要做完全相同的事情。节省了我一些打字时间+祝你好运。我认为“不匹配”的paren应该是转义的,产生(29)或仅产生29,或任何使用数字2-9的2位数字。更清楚地说,我认为这是指(([2-9]\d{2})|[2-9]\d{2})^[01]?这意味着它可以从一个空格开始?@AdnanBhatti:复制和粘贴错误。我指责OP缺少代码格式。@Kibbee:这更有意义:)@alex谢谢你的快速回复,在你的回答中,你说的一些表达式可能会以开头或结尾,这是否意味着它们是可选的,或者它必须有这些符号中的任何一个?对于上面的表达,我引用的例子,请让我知道哪些是适用的。18001111111, 1-800-123-4567,1.800.123.4567, 8001234567,(800)-123-4567, (800)2345678. 你还说了一个表达偏执缺失,其实它就在那里!如果我错了,请纠正我
[RegularExpression(@"^\d{2}-\d{10,15}$", ErrorMessage = "Invalid Phone no")]