Maison >développement back-end >tutoriel php >Explication détaillée des expressions régulières les plus couramment utilisées en PHP
Cet article organisera et présentera les expressions régulières les plus couramment utilisées en PHP. Il a une très bonne valeur de référence, regardons-le avec l'éditeur ci-dessous
1 Expression des numéros de chèque
Numéro : ^[0-9] *$
Numéro à N chiffres : ^d{n}$
Numéro à au moins n chiffres : ^d{n,}$
Nombre à m-n chiffres : ^ d{m,n}$
Nombres commençant par zéro et non nul : ^(0|[1-9][0-9]*)$
Nombres commençant par non -zéro au plus Nombre avec deux décimales : ^([1-9][0-9]*) (.[0-9]{1,2})?$
Nombre positif avec 1- 2 décimales Ou nombres négatifs : ^(-)?d (.d{1,2})?$
Nombres positifs, nombres négatifs et décimales : ^(-| )?d (.d ) ?$
Nombre réel positif avec deux décimales : ^[0-9] (.[0-9]{2})?$
Nombre réel positif avec 1~3 décimales : ^[0- 9] (.[0-9]{1,3})?$
entier positif non nul : ^[1-9]d*$ ou ^([1-9 ][0-9 ]*){1,3}$ ou ^ ?[1-9][0-9]*$
Entier négatif non nul : ^-[1-9][] 0-9″* $ ou ^-[1-9]d*$
entier non négatif : ^d $ ou ^[1-9]d*|0$
non -entier positif : ^-[ 1-9]d*|0$ ou ^((-d )|(0 ))$
Nombre à virgule flottante non négatif : ^d (.d )?$ ou ^[1-9]d* .d*|0.d*[1-9]d*|0?.0 |0$
Nombre à virgule flottante non positif : ^((-d (.d )?)|(0 (. 0 )?))$ ou ^(-([1-9]d*.d*|0.d*[1-9]d*))|0?. 0 |0$
Nombre à virgule flottante positif : ^[1-9]d*.d*|0.d*[1-9]d*$ ou ^(([0-9] .[ 0-9]*[1-9][0 -9]*)|([0-9]*[1-9][0-9]*.[0-9] )|([0-9] *[1-9][0-9]* ))$
Nombre à virgule flottante négatif : ^-([1-9]d*.d*|0.d*[1-9]d *)$ ou ^(-(([0-9 ] .[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9 ]*.[0-9] )|([0 -9]*[1-9][0-9]*)))$
Nombre à virgule flottante : ^(-?d )(. d )?$ ou ^-?([1-9] d*.d*|0.d*[1-9]d*|0?.0 |0)$
2 . Expression des caractères de contrôle
Caractères chinois : ^[u4e00-u9fa5]{0,}$
Anglais et chiffres : ^[A-Za-z0-9] $ ou ^[A-Za-z0-9]{4, 40}$
Tous les caractères de longueur 3 à 20 : ^.{3,20}$
Une chaîne composée de 26 anglais lettres : ^[A-Za-z] $
Une chaîne composée de 26 lettres anglaises majuscules : ^[A-Z] $
Une chaîne composée de 26 lettres anglaises minuscules : ^[a-z] $
Une chaîne composée de chiffres et de 26 lettres anglaises : ^[A-Za-z0-9] $
Une chaîne composée de chiffres, de 26 lettres anglaises ou de traits de soulignement : ^w $ ou ^w {3,20}$
Chinois, anglais, chiffres incluant les traits de soulignement : ^[u4E00-u9FA5A-Za-z0-9_] $
Chinois, anglais, chiffres mais hors traits de soulignement et autres symboles : ^[u4E00-u9FA5A-Za-z0-9] $ ou ^[u4E00-u9FA5A-Za-z0-9]{2,20}$
peuvent être saisis contenant ^%&', ;=? $" et autres caractères : [^%&',;=?$x22]
Il est interdit de saisir des caractères contenant ~ : [^~x22]
3. Expressions pour besoins particuliers
Adresse email : ^w ([- .]w )*@w ([-.]w )*.w ([-.]w )*$
Nom de domaine :[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA- Z0-9]{0, 62}) /.?
URLInternet : [a-zA-z] ://[^s]* ou ^http://([w-] .) [ w-] (/[w -./?%&=]*)?$
Numéro de téléphone portable : ^(13[0-9]|14[5|7]|15[0|1 |2|3|5|6 |7|8|9]|18[0|1|2|3|5|6|7|8|9])d{8}$
Numéro de téléphone (« XXX-XXXXXXX », « XXXX-XXXXXXXX », « XXX-XXXXXXX », « XXX-XXXXXXXX », « XXXXXXX » et « XXXXXXXXX ») : ^($$d{3,4}-)|d{3.4 }-)?d{7,8 }$
Numéro de téléphone national (0511-4405222, 021-87888822) : d{3}-d{8}|d{4}-d{7}
Numéro d'identification (15 chiffres, 18 chiffres) : ^d{15}|d{18}$
Numéro d'identification court (chiffres, lettres se terminant par x) : ^([0-9 ]){7,18} (x| Début, 5 à 16 octets autorisés, traits de soulignement alphanumériques autorisés) : ^[a-zA-Z][a-zA-Z0-9_]{4,15}$
Mot de passe (commence par une lettre, La longueur est comprise entre 6 et 18 et ne peut contenir que des lettres, des chiffres et des traits de soulignement) : ^[a-zA-Z]w{5,17}$
Fort mot de passe (doit contenir des lettres et des chiffres majuscules et minuscules) Combinaison, les caractères spéciaux ne peuvent pas être utilisés, la longueur est comprise entre 8 et 10 : ^(?=.*d)(?=.*[a-z])(?=.*[ A-Z]).{8,10}$
Format de date : ^d{4}-d{1,2}-d{1,2}
12 mois de l'année ( 01~09 et 1~12) : ^ (0?[1-9]|1[0-2])$
31 jours d'un mois (01~09 et 1~31) : ^( (0?[1-9])| ((1|2)[0-9])|30|31)$
Format de saisie d'argent :
Cela permet à l'utilisateur d'écrire une seule décimale. Ensuite, nous devrions considérer les virgules dans les nombres. Nous pouvons faire ceci : ^[0-9]{1,3}(,[0-9]{3})*(.[0-9]{1,2}) ? $
1 à 3 chiffres, suivis d'un nombre quelconque de virgules et de 3 chiffres. Les virgules deviennent facultatives au lieu d'être obligatoires : ^([0-9] |[0-9 ]{ 1,3}(,[0-9]{3})*)(.[0-9]{1,2})?$
Remarque : Ceci est la version finale le résultat est ici, n'oubliez pas que « » peut être remplacé par « * ». Si vous pensez que les chaînes vides sont acceptables (étrange, pourquoi ?) Enfin, n'oubliez pas de supprimer la barre oblique inverse lors de l'utilisation des fonctions. Les erreurs courantes sont ici
fichier XML : ^([a. -zA-Z] -?) [a-zA-Z0-9] \.[x|X][m|M][l|L]$
Caractères chinois Expression régulière : [u4e00-u9fa5 ]
Caractères à deux octets : [^x00-xff] (y compris les caractères chinois, peuvent être utilisés pour calculer la longueur de la chaîne (la longueur d'un caractère à deux octets est de 2, les caractères ASCII comptent 1) )
Expression régulière pour les lignes vides : ns*r (peut être utilisée pour supprimer les lignes vides)
Expression régulière pour les balises HTML : <(S*? )(^>]* >.*?1>|<.*? /> (La version qui circule sur Internet est dommage, celle ci-dessus ne peut fonctionner que partiellement, et elle est encore impuissante pour les balises imbriquées complexes)
Expression régulière pour les caractères d'espacement au début et à la fin de la ligne : ^s*|s*$ ou (^s*)|(s*$) (peut être utilisée pour supprimer les caractères d'espacement au début et à la fin de la ligne (y compris les espaces, les caractères de tableau, les sauts de page, etc.), expressions très utiles)
Numéro Tencent QQ : [1-9][0-9]{4,} (Le numéro Tencent QQ commence à partir de 10000)
Code postal chinois : [1-9]d{5}(?!d) (le code postal chinois est composé de 6 chiffres)
Adresse IP : d .d .d . d (extrait IP Utile pour les adresses)
Ce qui précède est l'explication détaillée des expressions régulières les plus couramment utilisées en PHP. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn). !
Articles connexes :
Code standard php pour filtrer les balises HTML, les espaces et les sauts de ligne
Comment spécifier des caractères dans les variables de remplacement régulières PHP