Asp.net 带屏蔽文本框问题的正则表达式
我试图准备一个电话号码文本框,但我找不到一个方法使它正常工作。我不想要javascript或jquery 我希望它具有掩码结构:(0312)255 29 47 用户不能将其留空,所以我放置了所需的字段验证器,我想用正则表达式验证它的正确格式 下面是我的代码。谢谢你的帮助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>
<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
类似于它们的混合?我的验证过程是正常的,问题是它们工作不正常。例如,如果我没有输入一个值,并且它没有给出所需的字段警报。你没有提供足够的信息,这就是为什么你没有得到这个非常简单的正则表达式的答案。您提供的正则表达式只验证不连续的数字、空格和破折号。您需要提供部分/完整信息以及电话号码的形式。