Valide si la valeur d'un contrôle d'entrée associé correspond au modèle spécifié par une expression régulière.
Espace de noms : System.Web.UI.WebControls
Assembly : System.Web (dans system.web.dll)
Visual Basic (Déclaration)
Public Class RegularExpressionValidator
Inherits BaseValidator
Visual Basic (Utilisation)
Dim instance As RegularExpressionValidator
public class RegularExpressionValidator : BaseValidator
public ref class RegularExpressionValidator : public BaseValidator
public class RegularExpressionValidator extends BaseValidator
public class RegularExpressionValidator extends BaseValidator
Le contrôle RegularExpressionValidator vérifie si la valeur d'un contrôle d'entrée correspond à un modèle défini par une expression régulière. Ce type de validation vous permet de rechercher des séquences de caractères prévisibles, comme celles qui se trouvent dans les adresses électroniques, les numéros de téléphone et les codes postaux.
Remarque |
|---|
| La validation est réussie lorsque le contrôle d'entrée est vide. Si une valeur est obligatoire pour le contrôle d'entrée associé, utilisez un contrôle RequiredFieldValidator en plus du contrôle RegularExpressionValidator. |
La validation est effectuée côté serveur et côté client sauf si le navigateur ne prend pas en charge la validation côté client ou si cette dernière est explicitement désactivée (en affectant false à la propriété EnableClientScript).
L'implémentation de la validation de l'expression régulière est légèrement différente sur le client par rapport à celle sur le serveur. Sur le client, la syntaxe de l'expression régulière JScript est utilisée. Sur le serveur, la syntaxe System.Text.RegularExpressions.Regex est utilisée. Étant donné que la syntaxe de l'expression régulière JScript est un sous-ensemble de la syntaxe System.Text.RegularExpressions.Regex, son utilisation est recommandée afin de produire les mêmes résultats sur le client et le serveur.
Pour plus d'informations sur les contrôles de validation, consultez BaseValidator. Pour plus d'informations sur les expressions régulières, consultez Expressions régulières du .NET Framework.
Accessibilité
Le balisage rendu par défaut pour ce contrôle peut ne pas se conformer aux normes d'accessibilité telles que les instructions de priorité 1 d'accessibilité du contenu Web (WCAG, Web Content Accessibility Guidelines). Pour plus d'informations sur la prise en charge d'accessibilité pour ce contrôle, consultez Contrôles et accessibilité ASP.NET.
L'exemple suivant illustre l'utilisation du contrôle RegularExpressionValidator pour valider un code postal à cinq chiffres.
<%@ 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>
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
Les membres statiques publics (Shared en Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.
Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition
Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.
.NET Framework
Prise en charge dans : 2.0, 1.1, 1.0