2011-05-14 94 views
1

如何在C#中添加ASP.NET驗證,所有三個文本框不爲空,並且電話號碼的格式爲DDDD-DDDD,其中D爲0-9。驗證三個文本框,包括電話號碼

<asp:TextBox ID="txtFirstName" runat="server"></asp:TextBox> 
<asp:TextBox ID="txtLastName" runat="server"></asp:TextBox> 
<asp:TextBox ID="txtPhoneNumber" runat="server"></asp:TextBox> 

回答

0

您是否嘗試自己解決這個問題呢?該文件是很容易找到:

http://msdn.microsoft.com/en-us/library/aa479013.aspx

你需要使用一個必填字段驗證 - 這樣的事情:

<asp:RequiredFieldValidator 
     id="RequiredFieldValidator1" runat="server" 
     ErrorMessage="Required!" 
     ControlToValidate="txtFirstName"> 

您還需要一個正則表達式驗證,是這樣的:

<asp:RegularExpressionValidator id="RegularExpressionValidator1" 
    runat="server" ControlToValidate="txtPhoneNumber" 
    ErrorMessage="wrong!" 
    ValidationExpression="^\d\d\d\d-\d\d\d\d$"> 
</asp:RegularExpressionValidator> 

NB reg表達式的工具箱有許多內置的,包括大多數電話號碼格式。我只會使用其中之一。

editor

+0

也許'\ d \ d \ d \ d- \ d \ d \ d \ d \ d'? [你的意思是8個字母d](http://www.rubular.com/r/I3LQBIsNAa) – abatishchev 2011-05-14 13:25:28

+0

@abatishchev - 是的,很好,我改變了它。 – Hogan 2011-05-14 13:26:41

+0

非常好,謝謝你們兩位。 – user734699 2011-05-14 14:01:40

0

標記:

<table> 
<tr> 
<td><asp:TextBox ID="txtFirstName" runat="server" /></td> 
<td><asp:RequiredFieldValidator runat="server" ControlToValidate="txtFirstName" Display="Dynamic" ValidationGroup="group"></asp:RequiredFieldValidator></td> 
<td><asp:RegularExpressionValidator runat="server" ControlToValidate="txtFirstName" ValidationExpression="..." Display="Dynamic" ValidationGroup="group">*</asp:RegularExpressionValidator></td> 
</tr> 
<!-- do the same 2 times more --> 
</table> 

The RegEx應該是我想:

^\d{4,4}-\d{4,4}$ 

或者(如果您不希望產生可變數目的數字,例如2〜4):

^\d\d\d\d-\d\d\d\d$ 

什麼手段:

line begin 
4 digits, not more or less 
dash 
4 digits, not more or less 
line end 
+0

如何驗證電話號碼爲XXXX-XXXX? – user734699 2011-05-14 13:22:23

+0

@ user734699:看我更新的帖子 – abatishchev 2011-05-14 13:22:50