Maison  >  Article  >  développement back-end  >  Comment utiliser des expressions régulières pour la validation des données en PHP ?

Comment utiliser des expressions régulières pour la validation des données en PHP ?

PHPz
PHPzoriginal
2023-05-20 12:02:022026parcourir

En programmation PHP, la validation des données est une tâche très importante. Lorsque nous recevons des données d'entrée externes (telles que les soumissions de formulaires par les utilisateurs), nous devons valider les données avant de les utiliser pour garantir qu'elles sont correctement formatées et répondent à nos exigences. Une méthode de vérification très pratique consiste à utiliser des expressions régulières.

L'expression régulière est un puissant outil de correspondance de texte qui peut être utilisé pour modéliser des chaînes et renvoyer la valeur correspondante après une correspondance réussie. L'utilisation d'expressions régulières pour la validation des données en PHP nous permet de vérifier rapidement et de manière concise si les données répondent aux exigences du format spécifié.

Overview

L'utilisation d'expressions régulières pour la validation des données en PHP nécessite l'utilisation de deux fonctions, à savoir preg_match et preg_replace. Parmi eux, preg_match est utilisé pour vérifier si une chaîne correspond au modèle d'expression régulière spécifié, tandis que preg_replace est utilisé pour remplacer la partie de la chaîne qui correspond à l'expression régulière.

Ci-dessous, nous utilisons quelques exemples spécifiques pour présenter comment utiliser les expressions régulières pour la validation des données en PHP.

  1. Vérifier le numéro de téléphone mobile

Dans la société moderne, les numéros de téléphone mobile sont devenus un élément indispensable de la vie des gens, par conséquent, lors de la vérification Lorsque l'utilisateur saisit son numéro de portable, nous devons nous assurer qu’il est correctement formaté.

En Chine, le format du numéro de téléphone portable est composé de 11 chiffres, commençant généralement par le chiffre 1. Par conséquent, nous pouvons utiliser des expressions régulières pour vérifier si une chaîne correspond au format d'un numéro de téléphone portable chinois :

$pattern = '/^1d{10}$/';
$phone = '13812345678';

if (preg_match($pattern, $phone)) {
    echo 'Valid phone number';
} else {
    echo 'Invalid phone number';
}

Dans le code ci-dessus, nous utilisons le modèle d'expression régulière / ^1 d {10} $ / pour vérifier si un numéro de téléphone mobile répond aux exigences de format. Parmi eux, ^ signifie correspondre au début de la chaîne, $ signifie correspondre à la fin de la chaîne et d {10} signifie correspondre à 10 nombres. Si le nombre de chiffres contenus dans la chaîne est inférieur ou supérieur à 11, il sera également détecté comme un numéro de téléphone mobile invalide.

  1. E-mail de validation

L'adresse e-mail est également une donnée d'entrée courante, nous devons donc la vérifier pour nous assurer qu'elle est dans le bon format . Les expressions régulières facilitent cela.

Voici un exemple basique de validation d'une adresse email :

$pattern = '/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}$/';
$email = 'test@example.com';

if (preg_match($pattern, $email)) {
    echo 'Valid email address';
} else {
    echo 'Invalid email address';
}

Dans le code ci-dessus, nous avons utilisé le modèle d'expression régulière /^[a-zA-Z0 -9 ._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}$/ pour faire correspondre les adresses e-mail. Parmi eux, + signifie faire correspondre le contenu précédent 1 ou plusieurs fois, [a-zA-Z0-9._%+-] signifie faire correspondre des lettres, des chiffres et des symboles spécifiques, . signifie correspondre à la période réelle, {2,} Indique la correspondance. 2 lettres ou plus.

Il convient de noter que les adresses e-mail peuvent également contenir d'autres symboles spéciaux, tels que des traits de soulignement, des points d'exclamation et des signes dièse. Si vous avez besoin de prendre en charge des symboles plus spéciaux, vous pouvez les ajouter au modèle d'expression régulière.

  1. Date de vérification

La date est également une donnée d'entrée courante Si vous devez enregistrer un événement ou l'heure du processus, vous en avez besoin. pour le vérifier. En PHP, vous pouvez utiliser des expressions régulières pour vérifier le format des dates.

Voici un exemple pour vérifier le format de date :

$pattern = '/^d{4}-d{1,2}-d{1,2}$/';
$date = '2021-11-11';

if (preg_match($pattern, $date)) {
    echo 'Valid date format';
} else {
    echo 'Invalid date format';
}

Dans le code ci-dessus, nous avons utilisé le modèle d'expression régulière / ^d{4}-d{1, 2 }-d{1,2}$/ pour correspondre au format de date. Parmi eux, d représente un nombre, {4} représente la correspondance de 4 chiffres et - représente la correspondance d'un tiret. Notez que le nombre de chiffres dans le mois et le jour ici peut être de 1 ou 2 chiffres, nous utilisons donc d {1,2} pour représenter le nombre possible de chiffres.

  1. Mot de passe de vérification

Le mot de passe est également une donnée d'entrée courante et sa sécurité doit être assurée. En PHP, une façon de valider les mots de passe consiste à utiliser des expressions régulières. Nous pouvons exiger que les mots de passe contiennent au moins une lettre majuscule, une lettre minuscule, un chiffre et un symbole spécial, et comportent entre 8 et 16 caractères.

Voici un exemple d'expression régulière pour vérifier le mot de passe :

$pattern = '/^(?=.*[a-z])(?=.*[A-Z])(?=.*d)(?=.*[@$!%*?&_])[A-Za-zd@$!%*?&_]{8,16}$/';
$password = 'P@ssw0rd';

if (preg_match($pattern, $password)) {
    echo 'Valid password';
} else {
    echo 'Invalid password';
}

Dans le code ci-dessus, nous avons utilisé le modèle d'expression régulière / ^(?=.#🎜🎜 #[ a-z])(?=.[A-Z])(?=.d)(?=.[@$!%*?&_])[A-Za- zd@ $!%?&_]{8,16}$/ pour correspondre au mot de passe. Parmi eux, (?=.*[a-z]) signifie au moins une lettre minuscule, (?=.*[A-Z]) signifie au moins une lettre majuscule, (?=.*d) signifie au moins un chiffre, (? = .*[@$!%?&_]) signifie qu'il y a au moins un caractère spécial, [A-Za-zd@$!%*?&_]{8,16} signifie que la longueur du mot de passe est comprise entre Entre 8 et 16 caractères.

Summary

Dans cet article, nous avons exploré comment utiliser les expressions régulières pour la validation des données en PHP. Grâce aux expressions régulières, nous pouvons facilement vérifier le téléphone mobile, vérifier les e-mails, vérifier la date, vérifier le mot de passe et d'autres opérations. Les expressions régulières peuvent être un outil très utile si vous avez besoin d'une validation de données dans votre programme PHP. Comprendre et maîtriser les bases des expressions régulières vous aidera à écrire des programmes plus efficacement.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn