我正在尝试根据 RegEx 验证电话号码。
我得到了这个答案:
它定义了用于验证以下电话号码的表达式:+44 (0) 1234 123456
我已经将它从 JS 移植到 C#,成为
var regexPhone = new Regex(@"^(?!([^-]*-){5})(\+\d+)?\s*(\(\d+\))?[- \d]+$");
这是有效的,但验证器也适用于允许为空的电话号码字段,例如传真(不是每个人都拥有那些老式设备之一)。
如何更改此设置以允许空白,以及针对上述数字进行验证?
编辑:下面的答案适用于上面的数字,但它失败了:+ 44 (0)20 1234 1234。还有什么我可以添加的吗?
只需|^$在最后添加一个:
var regexPhone = new Regex(@"^(?!([^-]*-){5})(\+\d+)?\s*(\(\d+\))?[- \d]+$|^$");
Run Code Online (Sandbox Code Playgroud)
编辑:因为你想要一个更轻松的正则表达式,在空白方面,只需撒上\s*:
var regexPhone = new Regex(@"^\s*(?!([^-]*-){5})(\+\s*\d+)?\s*(\(\s*\d+\s*\))?\s*[- \d]+\s*$|^\s*$");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1758 次 |
| 最近记录: |