2013-10-22 105 views
0

我有使用Visual Studio 2010。使用RegularExpressionValidator的一個問題是我的代碼:的RegularExpressionValidator爲美國電話號碼ASP.net

<asp:Label ID="phone" runat="server" Text="Phone Number"></asp:Label><asp:TextBox ID="phonebox" 
    runat="server" TextMode="Phone"></asp:TextBox> 
<asp:RegularExpressionValidator ID="RegularExpressionValidator3" runat="server" 
    ErrorMessage="Invalid Number" ControlToValidate="phonebox" 
    ValidationExpression="((\(\d{3}\) ?)|(\d{3}-))?\d{3}-\d{4}"></asp:RegularExpressionValidator> 
<br /> 

不管是什麼號碼我輸入,我得到旁邊的一個錯誤信息字段 - 即使我複製並粘貼有效的美國電話號碼。

回答

0

參考此鏈接: http://www.w3schools.com/aspnet/prop_webcontrol_textbox_textmode.asp

儘管在msdn是枚舉你應該只使用這三:
SINGLELINE - 默認。一行文本框
多行 - 多行文本框
密碼 - 一行文本框,掩蓋了輸入

我建議把它作爲簡單的文本(默認值),並使用正則表達式的一個驗證正確性

<asp:TextBox ID="phonebox" runat="server"></asp:TextBox> 
<asp:RegularExpressionValidator ID="RegularExpressionValidator3" runat="server" 
ErrorMessage="Invalid Number" ControlToValidate="phonebox"  ValidationExpression="((\(\d{3}\) ?)|(\d{3}-))?\d{3}-\d{4}"></asp:RegularExpressionValidator> 

其他一些正則表達式,你可以找到在: Regular expression to validate US phone numbers?

相關問題