RegularExpressionValidator 类

验证相关输入控件的值是否匹配正则表达式指定的模式。

**命名空间:**System.Web.UI.WebControls
**程序集:**System.Web(在 system.web.dll 中)

语法

声明
Public Class RegularExpressionValidator
    Inherits BaseValidator
用法
Dim instance As RegularExpressionValidator
public class RegularExpressionValidator : BaseValidator
public ref class RegularExpressionValidator : public BaseValidator
public class RegularExpressionValidator extends BaseValidator
public class RegularExpressionValidator extends BaseValidator

备注

RegularExpressionValidator 控件检查输入控件的值是否匹配正则表达式定义的模式。这类验证允许您检查可预知的字符序列,比如电子邮件地址、电话号码和邮编中的字符序列。

提示

如果输入控件为空,则表明验证成功。如果相关输入控件需要一个值,则除了使用 RegularExpressionValidator 控件外,还须使用 RequiredFieldValidator 控件。

除非浏览器不支持客户端验证,或者已明确禁用客户端验证(通过将 EnableClientScript 属性设置为 false),否则将同时执行服务器端和客户端验证。

与服务器相比,客户端的正则表达式验证实现略有不同。在客户端,使用的是 JScript 正则表达式语法。而在服务器端,使用的则是 System.Text.RegularExpressions.Regex 语法。由于 JScript 正则表达式语法是 System.Text.RegularExpressions.Regex 语法的子集,因此建议使用 JScript 正则表达式语法,以便在客户端和服务器都得到同样的结果。

有关验证控件的附加信息,请参见 BaseValidator。有关正则表达式的更多信息,请参见 .NET Framework 正则表达式

辅助功能

默认情况下,为此控件呈现的标记可能不符合辅助功能标准,例如 Web 内容辅助功能准则 1.0 (WCAG) 优先级 1 准则。有关此控件的辅助功能支持的详细信息,请参见 ASP.NET 控件和辅助功能

主题 位置
演练:验证 Web 窗体页中的用户输入 在 Visual Studio 中构建 ASP .NET Web 应用程序
演练:验证 Web 窗体页中的用户输入 使用 Visual Web Developer 生成应用程序
如何:对照数据库中的值验证 ASP.NET 服务器控件 在 Visual Studio 中生成 ASP .NET Web 应用程序
如何:对照取值范围验证 ASP.NET 服务器控件 在 Visual Studio 中生成 ASP .NET Web 应用程序
如何:对照特定值验证 ASP.NET 服务器控件 在 Visual Studio 中生成 ASP .NET Web 应用程序
如何:对照数据类型验证 ASP.NET 服务器控件 在 Visual Studio 中生成 ASP .NET Web 应用程序
如何:验证 ASP.NET 服务器控件的必需项 在 Visual Studio 中生成 ASP .NET Web 应用程序
如何:显示 ASP.NET 服务器控件的服务器端自定义验证消息 在 Visual Studio 中生成 ASP .NET Web 应用程序
如何:以编程方式测试 ASP.NET 服务器控件的有效性 在 Visual Studio 中生成 ASP .NET Web 应用程序
如何:根据模式对 ASP.NET 服务器控件进行验证 在 Visual Studio 中生成 ASP .NET Web 应用程序
如何:设置 ASP.NET 服务器控件的验证错误信息的格式 在 Visual Studio 中生成 ASP .NET Web 应用程序
如何:使用自定义函数对 ASP.NET 服务器控件进行验证 在 Visual Studio 中生成 ASP .NET Web 应用程序
如何:禁用 ASP.NET 服务器控件验证 在 Visual Studio 中生成 ASP .NET Web 应用程序
如何:对照数据库中的值验证 ASP.NET 服务器控件 在 Visual Studio 中生成 ASP .NET Web 应用程序
如何:对照取值范围验证 ASP.NET 服务器控件 在 Visual Studio 中生成 ASP .NET Web 应用程序
如何:对照特定值验证 ASP.NET 服务器控件 在 Visual Studio 中生成 ASP .NET Web 应用程序
如何:对照数据类型验证 ASP.NET 服务器控件 在 Visual Studio 中生成 ASP .NET Web 应用程序
如何:验证 ASP.NET 服务器控件的必需项 在 Visual Studio 中生成 ASP .NET Web 应用程序
如何:显示 ASP.NET 服务器控件的服务器端自定义验证消息 在 Visual Studio 中生成 ASP .NET Web 应用程序
如何:以编程方式测试 ASP.NET 服务器控件的有效性 在 Visual Studio 中生成 ASP .NET Web 应用程序
如何:根据模式对 ASP.NET 服务器控件进行验证 在 Visual Studio 中生成 ASP .NET Web 应用程序
如何:设置 ASP.NET 服务器控件的验证错误信息的格式 在 Visual Studio 中生成 ASP .NET Web 应用程序
如何:使用自定义函数对 ASP.NET 服务器控件进行验证 在 Visual Studio 中生成 ASP .NET Web 应用程序
如何:禁用 ASP.NET 服务器控件验证 在 Visual Studio 中生成 ASP .NET Web 应用程序
如何:对照数据库中的值验证 ASP.NET 服务器控件 生成 ASP .NET Web 应用程序
如何:对照取值范围验证 ASP.NET 服务器控件 生成 ASP .NET Web 应用程序
如何:对照特定值验证 ASP.NET 服务器控件 生成 ASP .NET Web 应用程序
如何:对照数据类型验证 ASP.NET 服务器控件 生成 ASP .NET Web 应用程序
如何:验证 ASP.NET 服务器控件的必需项 生成 ASP .NET Web 应用程序
如何:显示 ASP.NET 服务器控件的服务器端自定义验证消息 生成 ASP .NET Web 应用程序
如何:以编程方式测试 ASP.NET 服务器控件的有效性 生成 ASP .NET Web 应用程序
如何:根据模式对 ASP.NET 服务器控件进行验证 生成 ASP .NET Web 应用程序
如何:设置 ASP.NET 服务器控件的验证错误信息的格式 生成 ASP .NET Web 应用程序
如何:使用自定义函数对 ASP.NET 服务器控件进行验证 生成 ASP .NET Web 应用程序
如何:禁用 ASP.NET 服务器控件验证 生成 ASP .NET Web 应用程序

示例

下面的示例演示如何使用 RegularExpressionValidator 控件验证一个五位数的邮编。

<%@ 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 Example</h3>
    <p>
 
    <form runat="server">
 
       <table bgcolor="#eeeeee" cellpadding="10">
          <tr valign="top">
             <td colspan="3">
                <asp:Label ID="lblOutput" 
                     Text="Enter a 5 digit zip code" 
                     runat="server"/>
             </td>
          </tr>
 
          <tr>
             <td colspan="3">
                <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"
                     ErrorMessage="Zip code must be 5 numeric digits"
                     EnableClientScript="False" 
                     runat="server"/>
             </td>
          </tr>
          <tr>
             <td></td>
             <td>
                <asp:Button text="Validate" 
                     OnClick="ValidateBtn_Click" 
                     runat=server />
             </td>
             <td></td>
          </tr>
       </table>
 
    </form>
 
 </body>
 </html>
 
<%@ 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 Example</h3>
    <p>
 
    <form runat="server">
 
       <table bgcolor="#eeeeee" cellpadding="10">
          <tr valign="top">
             <td colspan="3">
                <asp:Label ID="lblOutput" 
                     Text="Enter a 5 digit zip code" 
                     runat="server"/>
             </td>
          </tr>
 
          <tr>
             <td colspan="3">
                <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"
                     ErrorMessage="Zip code must be 5 numeric digits"
                     EnableClientScript="False" 
                     runat="server"/>
             </td>
          </tr>
          <tr>
             <td></td>
             <td>
                <asp:Button text="Validate" 
                     OnClick="ValidateBtn_Click" 
                     runat=server />
             </td>
             <td></td>
          </tr>
       </table>
 
    </form>
 
 </body>
 </html>
 
<%@ Page Language="JScript" AutoEventWireup="True" %>

 <html>
 <head>

    <script runat="server">
 
       function ValidateBtn_Click(sender : Object, e : EventArgs) 
       {
          if (Page.IsValid) 
          {
             lblOutput.Text = "Page is Valid.";
          }
          else 
          {
             lblOutput.Text = "Page is InValid.";
          }
       }
 
    </script>
 
 </head>
 <body>
 
    <h3>RegularExpressionValidator Example</h3>
    <p>
 
    <form runat="server">
 
       <table bgcolor="#eeeeee" cellpadding="10">
          <tr valign="top">
             <td colspan="3">
                <asp:Label ID="lblOutput" 
                     Text="Enter a 5 digit zip code" 
                     runat="server"/>
             </td>
          </tr>
 
          <tr>
             <td colspan="3">
                <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"
                     ErrorMessage="Zip code must be 5 numeric digits"
                     EnableClientScript="False" 
                     runat="server"/>
             </td>
          </tr>
          <tr>
             <td></td>
             <td>
                <asp:Button text="Validate" 
                     OnClick="ValidateBtn_Click" 
                     runat=server />
             </td>
             <td></td>
          </tr>
       </table>
 
    </form>
 
 </body>
 </html>
 

.NET Framework 安全性

继承层次结构

System.Object
   System.Web.UI.Control
     System.Web.UI.WebControls.WebControl
       System.Web.UI.WebControls.Label
         System.Web.UI.WebControls.BaseValidator
          System.Web.UI.WebControls.RegularExpressionValidator

线程安全

此类型的任何公共静态(Visual Basic 中的 Shared)成员都是线程安全的,但不保证所有实例成员都是线程安全的。

平台

Windows 98、Windows 2000 SP4、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1、1.0

请参见

参考

RegularExpressionValidator 成员
System.Web.UI.WebControls 命名空间
BaseValidator 类
BaseValidator.EnableClientScript 属性
System.Text.RegularExpressions.Regex

其他资源

.NET Framework 正则表达式