Asp.net 带屏蔽文本框问题的正则表达式

Asp.net 带屏蔽文本框问题的正则表达式,asp.net,regex,validation,maskedtextbox,Asp.net,Regex,Validation,Maskedtextbox,我试图准备一个电话号码文本框,但我找不到一个方法使它正常工作。我不想要javascript或jquery 我希望它具有掩码结构:(0312)255 29 47 用户不能将其留空,所以我放置了所需的字段验证器,我想用正则表达式验证它的正确格式 下面是我的代码。谢谢你的帮助 <asp:TextBox ID="txtTelefon" runat="server" ValidationGroup="contact" TextMode="Phone"></asp:TextBox>

我试图准备一个电话号码文本框,但我找不到一个方法使它正常工作。我不想要javascript或jquery

我希望它具有掩码结构:(0312)255 29 47

用户不能将其留空,所以我放置了所需的字段验证器,我想用正则表达式验证它的正确格式

下面是我的代码。谢谢你的帮助

<asp:TextBox ID="txtTelefon" runat="server" ValidationGroup="contact" TextMode="Phone"></asp:TextBox>
<ajaxToolkit:MaskedEditExtender ID="MaskedEditExtender2" TargetControlID="txtTelefon" MaskType="Number" Mask="(999) 999 99 99" ClearMaskOnLostFocus="false" runat="server"></ajaxToolkit:MaskedEditExtender>
    <asp:RegularExpressionValidator ID="RegularExpressionPhone"
            runat="server"
            ControlToValidate="txtTelefon"
            Display="Dynamic"
            ErrorMessage="Invalid phone number"
            SetFocusOnError="True"
            ValidationExpression="((\(\d{3}\) ?)|(\d{3}-))?\d{2}-\d{2}">
    </asp:RegularExpressionValidator>

<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server"  ErorMessage="Please enter a valid phone number!" ForeColor="Red" ControlToValidate="txtTelefon" Font-Size="Small"></asp:RequiredFieldValidator>

根据您的示例
(0312)255 29 47
,与之匹配的有效正则表达式应该是:

\(\d{4}\) \d{3} \d{2} \d{2}

有关正则表达式的详细说明,请参阅。

它仍然与我的掩码不兼容。它提供了无效的电话号码错误。我希望它与掩码一起工作,因此当用户打开页面时,他将看到这样的掩码(0_uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。正如您所看到的,第一个数字总是0。您在寻找什么验证
1234567890
(123)4567890
12345678-90
1234567890
类似于它们的混合?我的验证过程是正常的,问题是它们工作不正常。例如,如果我没有输入一个值,并且它没有给出所需的字段警报。你没有提供足够的信息,这就是为什么你没有得到这个非常简单的正则表达式的答案。您提供的正则表达式只验证不连续的数字、空格和破折号。您需要提供部分/完整信息以及电话号码的形式。