Maison >développement back-end >tutoriel php >L'expression régulière PHP la plus complète dans history_regular expression

L'expression régulière PHP la plus complète dans history_regular expression

韦小宝
韦小宝original
2017-12-04 10:55:554024parcourir

Les

Expressions régulières devraient être utilisées fréquemment dans le développement. De nombreux langages de développement ont désormais des applications d'expressions régulières, telles que javascript, java, .net, php Attendez, aujourd'hui je le ferai. vous présentons les Expressions régulières PHP les plus complètes de l'histoire (le numéro de téléphone portable doit être ajouté avec 177-***), jetons un coup d'œil ensemble

Tout d'abord, jetons un coup d'œil aux expressions régulières Mind map :

1. Expression des numéros de chèque

1 numéro :
^[0-9]*$
numéro à 2 n chiffres :
^d{n}$
3 Un nombre d'au moins n chiffres :
^d{n,}$
4 Un nombre de m-n chiffres :
^d{m ,n}$
5 Nombres commençant par zéro et non nul :
^(0|[1-9][0-9]*)$
6 Les nombres commençant par non zéro sont les plus nombreux. Les nombres avec deux décimales :
^([1-9][0-9]*)+(.[0-9]{1,2}) ? $
7 Nombres positifs ou négatifs avec 1-2 décimales :
^(-)?d+(.d{1,2})?$
8 Positif nombres, nombres négatifs et décimaux :
^(-|+)?d+(.d+)?$
9 Un nombre réel positif avec deux décimales :
^[0-9]+(. [0-9]{2})?$
10 Un nombre réel positif avec 1 à 3 décimales :
^[0-9] +(.[0-9]{1 ,3})?$
11 Entier positif non nul :
^[1-9]d*$ ou ^([1- 9][0-9]*){ 1,3}$ ou ^+?[1-9][0-9]*$
12 Entier négatif non nul :
^-[1-9][]0 -9"*$ ou ^-[1-9]d*$
13 Entier non négatif :
^d+$ ou ^[ 1-9]d*|0$
14 Entier non positif :
^-[1-9]d*|0$ ou ^((-d+)|(0+ ))$
15 Nombre à virgule flottante non négatif :
^d+(.d+)?$ ou ^[1-9]d*.d*|0.d*[1 -9]d*|0?.0+|0$
16 Nombre à virgule flottante non positif :
^((-d+(.d+)?)|(0+( .0+)?))$ ou ^(-([1- 9]d*.d*|0.d*[1-9]d*))|0?.0+|0$
17 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]*))$
18 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]*)))$
19 Flottant numéro de point :
^(-?d+)(.d+) ?$ ou ^-?([1-9]d*.d*|0.d*[1-9]d*|0 ?.0+|0)$

2. Expression des caractères de contrôle

1 caractères chinois :
^[u4e00-u9fa5]{0,}$
2 Anglais et chiffres :
^[A-Za-z0-9]+$ ou ^[ A-Za-z0-9]{4,40}$
3 Tous les caractères d'une longueur de 3 à 20 :
^.{3,20}$
4 Une chaîne de 26 lettres anglaises :
^ [A-Za-z]+$
5 Une chaîne composée de 26 lettres anglaises majuscules :
^[A-Z ]+$
6 composée de 26 lettres minuscules Une chaîne composée de lettres anglaises :
^[a-z]+$
7 Une chaîne composée de chiffres et de 26 lettres anglaises :
^[A-Za- z0-9]+$
8 Une chaîne composée de chiffres, 26 lettres anglaises ou traits de soulignement :
^w+$ ou ^w {3,20}$
9 chinois, anglais, chiffres incluant les traits de soulignement :
^[u4E00-u9FA5A-Za-z0-9_]+$
10 chinois, Anglais, chiffres, mais sans les traits de soulignement et autres symboles :
^[u4E00-u9FA5A-Za-z0-9]+$ ou ^[u4E00-u9FA5A-Za-z0-9]{2,20}$
11 Vous pouvez saisir ^% &',;=?$" et d'autres caractères :
[^%&',;=?$x22]+
12 Il est interdit de saisir des caractères contenant ~ :
[^~x22]+

3. Expression de besoins particuliers

1. Adresse e-mail :
^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$
2. Nom de domaine :
[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0- 9 ][-a-zA-Z0-9]{0,62})+/.?
3, InternetURL :
[a-zA-z]+://[ ^ s]* ou ^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$
4. nombre :
^(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}$
5, numéro de téléphone("XXX-XXXXXXX", "XXXX-XXXXXXXX", "XXX- XXXXXXX", "XXX-XXXXXXXX", "XXXXXXX" et "XXXXXXXX":
^((d{3,4}-)|d{3.4}-)?d{7,8}$
6 Numéro de téléphone national (0511-4405222, 021-87888822) :
d{3}-d{8}|d{4}-d{7}
7, numéro d'identification :
Carte d'identité à 15 ou 18 chiffres :
^d{15}|d{18}$
Carte d'identité à 15 chiffres :
^[ 1-9 ]d{7}((0d)|(1[0-2]))(([0|1|2]d)|3[0-1])d{3}$
18 carte d'identité :
^[1-9]d{5}[1-9]d{3}((0d)|(1[0-2]))(([0| 1| 2]d)|3[0-1])d{4}$
8. Numéro d'identification court (chiffres, lettres se terminant par x) :
^([0- 9] ){7,18}(x|X)?$
ou
^d{8,18}|[0-9x]{8,18}|[0-9X]{8,18 } ? $
9. Le compte est-il légal (commençant par une lettre, 5 à 16 octets autorisés, traits de soulignement alphanumériques autorisés) :
^[a-zA-Z][a-zA -Z0- 9_]{4,15}$
10, mot de passe (commençant par une lettre, longueur comprise entre 6 et 18, ne peut contenir que des lettres, des chiffres et des traits de soulignement) :
^[ a- zA-Z]w{5,17}$
11, mot de passe fort (doit contenir une combinaison de lettres majuscules et minuscules et de chiffres, ne peut pas utiliser de caractères spéciaux, la longueur est comprise entre 8-10 ):
^(?=.*d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$
12. Format de date :
^d{4}-d{1,2}-d{1,2}
13. 12 mois de l'année (01~09 et 1~ 12) :
^(0?[1-9]|1[0-2])$
14, 31 jours d'un mois (01~09 et 1~31) :
^((0?[1-9])|((1|2)(0-9])|30|31)$
15. Format de saisie d'argent :
16. 1. Il existe quatre façons d'exprimer de l'argent que nous pouvons accepter : "10 000,00" et "10 000,00", et "10 000" et "10 000" sans "cents" :
^ [1-9][0-9]*$
17. 2. Cela signifie tout nombre qui ne commence pas par 0, mais cela signifie aussi qu'un caractère "0" ne passe pas, donc nous utiliser La forme suivante :
^(0|[1-9][0-9]*)$
18, 3. Un 0 ou un nombre ne commençant pas par 0. Nous Il est permis d'avoir un signe négatif au début :
^(0|-?[1-9][0-9]*)$
19, 4. Cela signifie un 0 ou une possibilité C'est un nombre négatif qui ne commence pas par 0. Laissez l'utilisateur commencer par 0. Supprimez également le signe négatif, car l'argent ne peut pas être négatif. Ce que nous devons ajouter ci-dessous est d'expliquer la partie décimale possible : <.>^[0-9]+(.[0-9]+)?$

20, 5. Il faut noter qu'il doit y avoir au moins 1 chiffre après la virgule, donc "10". Cela a échoué, mais "10" et "10.2" ont réussi : ^[0-9]+(.[0-9]{2})?$

21, 6. De cette façon, nous stipulons qu'il doit y avoir deux décimales après la virgule. Si vous pensez que c'est trop dur, vous pouvez faire ceci : ^[0-9]+(. [0-9]{1,2})?$

22. Cela permet à l'utilisateur d'écrire une seule décimale. Ensuite, nous devrions considérer la virgule dans le nombre, nous pouvons faire ceci : ^[0-9]{1,3 }(,[0-9]{3})*(.[0-9]{1,2})?$

23 , 8.1 à 3 chiffres, suivis d'un nombre quelconque de virgules + 3 Les chiffres et les virgules deviennent facultatifs au lieu d'être obligatoires : ^([0-9]+|[0-9]{1,3}(, [0-9]{3})*)( .[0-9]{1,2})?$

24. Remarque : Ceci est le résultat final. N'oubliez pas ce "+". peut être remplacé par "*". Si vous pensez qu'une chaîne vide est également ok. Si vous l'acceptez (étrange, pourquoi ?) Enfin, n'oubliez pas de supprimer la barre oblique inverse lors de l'utilisation de la fonction. Les erreurs courantes sont ici <.> 25. fichier xml :
^([a-zA-Z]+-?)+[a-zA-Z0-9]+\.[x|X][m| M][l|L]$
26, Expression régulière de caractères chinois :
[u4e00-u9fa5]
27, caractères à deux octets :
[^x00-xff] (y compris les caractères chinois dans Within, il peut être utilisé pour calculer la longueur d'une chaîne (la longueur d'un caractère codé sur deux octets compte pour 2, et la longueur d'un caractère ASCII est compté pour 1))

28. Expression régulière pour les lignes vides : ns*r (peut être utilisé pour supprimer les lignes vides)
29, expression régulière de la balise HTML :
<(S*?)[^>]*>.*?| <.* /> l'une n'est que partiellement efficace et est toujours impuissante pour les balises imbriquées complexes)
30 Expression régulière pour les caractères d'espacement de début et de fin :
^s*|s*$ ou (^s*)|(s. *$) (peut être utilisé pour supprimer les caractères d'espacement au début et à la fin de la ligne (y compris les espaces, les tabulations, les sauts de formulaire, etc.), expression très utile)31, numéro Tencent QQ : [1-9] [0-9]{4,} (le numéro Tencent QQ commence à 10000)
32, code postal chinois :
[ 1-9]d{5}(?!d) (code postal chinois est 6 chiffres)33. Adresse IP :
d+.d+.d+.d+ (utile lors de l'extraction de l'adresse IP)

Ce qui précède est l'expression régulière PHP la plus complète de l'histoire introduite par l'éditeur (le numéro de téléphone portable doit être ajouté 177-***), j'espère qu'elle sera utile à tout le monde.

Recommandations associées :

Collection d'expressions régulières PHP

Explication détaillée des fonctions couramment utilisées dans les expressions régulières php

Un cas de vérification d'expression régulière php de l'adresse e-mail

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