程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> Validation服務器控件:RegularExpressionValidator控件

Validation服務器控件:RegularExpressionValidator控件

編輯:關於ASP.NET

閱讀此文請先查看網頁教學網的:ASP.NET入門教程:Validation服務器控件,簡單講述了Web服務器控件的使用方法。

定義和用法

RegularExpressionValidator 控件用於驗證輸入值是否匹配正則表達式指定的模式。計算輸入控件的值,以確定該值是否與某個正則表達式所定義的模式相匹配。

注釋:除非浏覽器不支持客戶端驗證或 EnableClientScript 被設置為 false,否則將同時執行服務器端和客戶端驗證。

注釋:如果輸入控件為空,驗證將失敗。請使用 RequiredFieldValidator 控件,使字段成為必選字段。

屬性

屬性 描述 BackColor RangeValidator 控件的背景顏色 ControlToValidate 要驗證的控件的 id Display 驗證控件的顯示行為。

合法的值有:

  • None - 驗證消息從不內聯顯示。
  • Static - 在頁面布局中分配用於顯示驗證消息的空間。
  • Dynamic - 如果驗證失敗,將用於顯示驗證消息的空間動態添加到頁面。
EnableClientScript 布爾值,規定是否啟用客戶端驗證。 Enabled 布爾值,規定是否啟用驗證控件。 ErrorMessage

當驗證失敗時,在 ValidationSummary 控件中顯示的文本。

注釋:如果未設置 Text 屬性,文本也會顯示在該驗證控件中。

ForeColor 該控件的前景色。 id 控件的唯一 id。 IsValid 布爾值,指示關聯的輸入控件是否通過驗證。 runat 規定該控件是一個服務器控件。必須設置為 "server"。 Text 當驗證失敗時顯示的消息。 ValidationExpression 規定驗證輸入控件的正則表達式。在客戶端和服務器上,表達式的語法是不同的。

語法

<asp:RegularExpressionValidator
    AccessKey="string"
    AssociatedControlID="string"
    BackColor="color name|#dddddd"
    BorderColor="color name|#dddddd"
    BorderStyle="NotSet|None|Dotted|Dashed|Solid|Double|Groove|Ridge|
        Inset|Outset"
    BorderWidth="size"
    ControlToValidate="string"
    CssClass="string"
    Display="None|Static|Dynamic"
    EnableClientScript="True|False"
    Enabled="True|False"
    EnableTheming="True|False"
    EnableViewState="True|False"
    ErrorMessage="string"
    Font-Bold="True|False"
    Font-Italic="True|False"
    Font-Names="string"
    Font-Overline="True|False"
    Font-Size="string|Smaller|Larger|XX-Small|X-Small|Small|Medium|
                Large|X-Large|XX-Large"
        Font-Strikeout="True|False"
    Font-Underline="True|False"
    ForeColor="color name|#dddddd"
    Height="size"
    ID="string"
    OnDataBinding="DataBinding event handler"
    OnDisposed="Disposed event handler"
    OnInit="Init event handler"
    OnLoad="Load event handler"
    OnPreRender="PreRender event handler"
    OnUnload="Unload event handler"
    runat="server"
    SetFocusOnError="True|False"
    SkinID="string"
    Style="string"
    TabIndex="integer"
    Text="string"
    ToolTip="string"
    ValidationExpression="string"
    ValidationGroup="string"
    Visible="True|False"
    Width="size"
/>

備注:RegularExpressionValidator 控件用於確定輸入控件的值是否與某個正則表達式所定義的模式相匹配。通過這種類型的驗證,可以檢查可預知的字符序列,如身份證號碼、電子郵件地址、電話號碼、郵政編碼等中的字符序列。

注意:如果輸入控件為空,則不調用任何驗證函數且驗證成功。使用 RequiredFieldValidator 控件防止用戶跳過某個輸入控件。

除非浏覽器不支持客戶端驗證,或者顯式禁用客戶端驗證(EnableClientScript 屬性設置為 false),否則服務器端驗證和客戶端驗證都要執行。

使用 ValidationExpression 屬性指定用於驗證輸入控件的正則表達式。客戶端的正則表達式驗證語法和服務器端略有不同。在客戶端,使用的是 JScript 正則表達式語法。而在服務器端使用的則是 Regex 語法。由於 JScript 正則表達式語法是 Regex 語法的子集,所以最好使用 JScript 正則表達式語法,以便在客戶端和服務器端得到同樣的結果。

示例

下面的代碼示例演示如何使用 RegularExpressionValidator 控件來驗證輸入到文本框中的值是否為特定模式。在此例中,該模式為 5 位數字的郵政編碼。驗證結果隨後顯示在頁上。

Visual Basic

<%@ Page Language="VB" AutoEventWireup="True" %>
 <html>
 <head>
    <script runat="server">
       Sub ValidateBtn_Click(sender As Object, e As EventArgs)       
          If Page.IsValid Then          
             lblOutput.Text = "Page is Valid!"         
          Else
             lblOutput.Text = "Page is InValid!"
            End If
       End Sub
    </script>
 </head>
 <body>
    <h3>RegularExpressionValidator Sample</h3>
    <p>
    <form id="Form1" runat="server">
        <table bgcolor="#eeeeee" cellpadding="10">
          <tr valign="top">
             <td colspan="3">
                <asp:Label id="lblOutput"
                     Text="Enter a 5 digit zip code"
                     Font-Names="Verdana"
                     Font-Size="10pt"
                     runat="server"/>
             </td>
          </tr>
          <tr>
             <td colspan="3">
                <font <b>Personal Information</b>
             </td>
          </tr>
          <tr>
             <td align="right">
                Zip Code:
             </td>
             <td>
                <asp:TextBox id="TextBox1"
                     runat="server"/>
             </td>
             <td>
                <asp:RegularExpressionValidator id="RegularExpressionValidator1"
                     ControlToValidate="TextBox1"
                     ValidationExpression="\d{5}"
                     Display="Static"
                     EnableClientScript="false"
                     ErrorMessage="Zip code must be 5 numeric digits"
                     runat="server"/>
             </td>
          </tr>
          <tr>
             <td></td>
             <td>
                <asp:Button ID="Button1" text="Validate"
                     OnClick="ValidateBtn_Click"
                     runat="server"/>
             </td>
             <td></td>
          </tr>
       </table>
    </form>
 </body>
 </html>

C#

<%@ Page Language="C#" AutoEventWireup="True" %>
<html>
<head>
   <script runat="server">

      void ValidateBtn_Click(Object sender, EventArgs e)
      {
         if (Page.IsValid)
         {
            lblOutput.Text = "Page is Valid!";
         }
         else
         {
            lblOutput.Text = "Page is InValid!";
         }
      }
   </script>
</head>
<body>
   <h3>RegularExpressionValidator Sample</h3>
   <p>
   <form id="Form1" runat="server">
      <table bgcolor="#eeeeee" cellpadding="10">
         <tr valign="top">
            <td colspan="3">
               <asp:Label id="lblOutput"
                    Text="Enter a 5 digit zip code"
                    Font-Names="Verdana"
                    Font-Size="10pt"
                    runat="server"/>
            </td>
         </tr>
         <tr>
            <td colspan="3">
               <font <b>Personal Information</b>
            </td>
         </tr>
         <tr>
            <td align="right">
               Zip Code:
            </td>
            <td>
               <asp:TextBox id="TextBox1"
                    runat="server"/>
            </td>
            <td>
               <asp:RegularExpressionValidator id="RegularExpressionValidator1"
                    ControlToValidate="TextBox1"
                    ValidationExpression="\d{5}"
                    Display="Static"
                    EnableClientScript="false"
                    ErrorMessage="Zip code must be 5 numeric digits"
                    runat="server"/>
            </td>
         </tr>
         <tr>
            <td></td>
            <td>
               <asp:Button ID="Button1" text="Validate"
                    OnClick="ValidateBtn_Click"
                    runat="server"/>
            </td>
            <td></td>
         </tr>
      </table>
   </form>
</body>
</html>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved