繁体   English   中英

如何验证电话号码或在文本字段中使用RegEx允许空白?

[英]How to validate a phone number OR allow blanks with RegEx in a text field?

我正在尝试根据RegEx验证电话号码。

我得到了这个答案:

电话号码的正则表达式

定义用于验证以下电话号码的表达式:+44(0)1234 123456

我已经将其从JS移植到C#

var regexPhone = new Regex(@"^(?!([^-]*-){5})(\\+\\d+)?\\s*(\\(\\d+\\))?[- \\d]+$");

这可行,但验证器也适用于允许为空的电话号码字段,例如传真(并非每个人都拥有那些老式设备之一)。

如何更改此值以允许空白,并根据上面的数字进行验证?

编辑:下面的答案适用于上面的数字,但失败了:+ 44(0)20 12341234。我还能为此添加其他内容吗?

只需在末尾添加|^$

var regexPhone = new Regex(@"^(?!([^-]*-){5})(\+\d+)?\s*(\(\d+\))?[- \d]+$|^$");

编辑 :由于您想要一个更宽松的正则表达式,在空格方向上,只需撒在\\s*

var regexPhone = new Regex(@"^\s*(?!([^-]*-){5})(\+\s*\d+)?\s*(\(\s*\d+\s*\))?\s*[- \d]+\s*$|^\s*$");

我已经尝试过了,而且效果很好。

 <asp:TextBox runat="server" ID="testInput"></asp:TextBox>
            <asp:RegularExpressionValidator ValidationExpression="aa|^$" 
runat="server" ControlToValidate="testInput"></asp:RegularExpressionValidator>

暂无
暂无

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

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