rob*_*sta 5 c# regex asp.net validation
我需要一个正则表达式(用于ASP .NET网站)来验证电话号码.它应该是灵活的,唯一的限制是:
我搜索过SO和Regexlib.com,但我得到了更多限制的表达,例如英国电话或美国等.
con*_*tor 18
^\s*\+?\s*([0-9][\s-]*){9,}$
Run Code Online (Sandbox Code Playgroud)
分解:
^ # Start of the string
\s* # Ignore leading whitespace
\+? # An optional plus
\s* # followed by an optional space or multiple spaces
(
[0-9] # A digit
[\s-]* # followed by an optional space or dash or more than one of those
)
{9,} # That appears nine or more times
$ # End of the string
Run Code Online (Sandbox Code Playgroud)
我更喜欢以后一种方式编写正则表达式,因为它将来更容易阅读和修改; 大多数语言都有一个需要为其设置的标志,例如RegexOptions.IgnorePatternWhitespace在C#中.
\+?[\d- ]{9,}
这将匹配数字,可选择以加号开头,然后至少九个字符长,用短划线和空格.
虽然这意味着破折号和空格会计入九个字符.我会删除破折号和空格然后使用
\+?[\d]{9,}
| 归档时间: |
|
| 查看次数: |
16696 次 |
| 最近记录: |