Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何验证电话号码或允许在文本字段中使用RegEx空格?_C#_Regex - Fatal编程技术网

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

C# 如何验证电话号码或允许在文本字段中使用RegEx空格?,c#,regex,C#,Regex,我想用正则表达式验证一个电话号码 我得到的答案是: 它定义用于验证以下电话号码的表达式:+44(0)1234 123456 我已经把它从JS移植到C#了 var regexPhone=new Regex(@“^(?)([^-]*-){5})(\+\d+)\s*(\(\d+\)?[-\d]+$” 这是可行的,但验证器也适用于允许空白的电话号码字段,例如传真(不再是每个人都有一个老式的防伪设备) 我如何更改它以允许空白,以及根据上面的数字进行验证 编辑:下面的答案适用于上面的数字,但不适用于:+4

我想用正则表达式验证一个电话号码

我得到的答案是:

它定义用于验证以下电话号码的表达式:+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]+$|^$");
编辑:既然您想要一个更宽松的正则表达式,在空格方面,只需插入
\s*

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

只需在末尾添加一个
|^$

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>

我已经试过了,效果很好

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


对于上面的数字,这是可行的,但是对于这个数字,它失败了:
+44(0)20 1234 1234
。还有什么我可以补充的吗?问题已更新以反映。这对上面的数字有效,但对这个数字无效:
+44(0)20 1234 1234
。还有什么我可以补充的吗?问题已更新以反映。