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 Content Accessibility Guidelines (WCAG) 1.0 の優先度 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 コントロールを使用して、5 桁の郵便番号を検証する方法を次の例に示します。

セキュリティに関するメモセキュリティに関するメモ :

この例には、ユーザー入力を受け付けるテキスト ボックスがあります。これにより、セキュリティが脆弱になる可能性があります。既定では、ASP.NET Web ページによって、ユーザー入力にスクリプトまたは HTML 要素が含まれていないかどうかが検証されます。詳細については、「スクリプトによる攻略の概要」を参照してください。

<%@ Page Language="VB" AutoEventWireup="True" %>

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
 <head>
    <title>RegularExpressionValidator Example</title>
<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>
    <br />
 
    <form id="form1" runat="server">
 
       <table style="background-color:#eeeeee; padding:10">
          <tr valign="top">
             <td colspan="3">
                <asp:Label ID="lblOutput" 
                     Text="Enter a 5-digit ZIP Code" 
                     runat="server"
                     AssociatedControlID="TextBox1"/>
             </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" %>

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
 <head>
    <title>RegularExpressionValidator Example</title>
<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> 
    <form id="form1" runat="server">
 
    <h3>RegularExpressionValidator Example</h3>

       <table style="background-color:#eeeeee; padding:10">
          <tr valign="top">
             <td colspan="3">
                <asp:Label ID="lblOutput" 
                     Text="Enter a 5-digit ZIP Code" 
                     runat="server"
                     AssociatedControlID="TextBox1"/>
             </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" %>

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
 <head>
    <title>RegularExpressionValidator Example</title>
<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>
    <br />
 
    <form id="form1" runat="server">
 
       <table style="background-color:#eeeeee; padding:10">
          <tr valign="top">
             <td colspan="3">
                <asp:Label ID="lblOutput" 
                     Text="Enter a 5-digit ZIP Code" 
                     runat="server"
                     AssociatedControlID="TextBox1"/>
             </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 のセキュリティ

  • AspNetHostingPermission  (ホスト環境での動作に必要なアクセス許可)。要求値 : LinkDemand。アクセス許可値 : Minimal
  • AspNetHostingPermission  (ホスト環境での動作に必要なアクセス許可)。要求値 : InheritanceDemand。アクセス許可値 : Minimal

継承階層

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

スレッド セーフ

この型の public static (Visual Basicでは共有) メンバはすべて,スレッド セーフです。インスタンス メンバの場合は,スレッド セーフであるとは限りません。

プラットフォーム

Windows 98,Windows Server 2000 SP4,Windows CE,Windows Millennium Edition,Windows Mobile for Pocket PC,Windows Mobile for Smartphone,Windows Server 2003,Windows XP Media Center Edition,Windows XP Professional x64 Edition,Windows XP SP2,Windows XP Starter Edition

Microsoft .NET Framework 3.0 は Windows Vista,Microsoft Windows XP SP2,および Windows Server 2003 SP1 でサポートされています。

バージョン情報

.NET Framework

サポート対象 : 3.0,2.0,1.1,1.0

参照

関連項目

RegularExpressionValidator メンバ
System.Web.UI.WebControls 名前空間
BaseValidator
BaseValidator.EnableClientScript プロパティ
System.Text.RegularExpressions.Regex

その他の技術情報

.NET Framework の正規表現