Maison  >  Article  >  développement back-end  >  Les expressions régulières les plus couramment utilisées en PHP

Les expressions régulières les plus couramment utilisées en PHP

墨辰丷
墨辰丷original
2018-05-25 14:54:191755parcourir

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}$

Nombre à 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 maximum Nombre avec deux décimales : ^([1-9][0-9]*)+(.[0-9]{1,2})?$

Nombre positif avec 1 -2 décimales Nombres ou nombres négatifs : ^(-)?d+(.d{1,2})?$

Nombres positifs, nombres négatifs et décimaux : ^(-|+)?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$

Entier non 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$

Flottant non positif numéro de point : ^((-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}$

par 26 Une chaîne composée de 26 lettres anglaises majuscules : ^[A-Za-z]+$

Une chaîne composée de 26 lettres anglaises majuscules : ^[A-Z ]+$

composée de 26 Une chaîne composée de 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, 26 lettres anglaises ou 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 sans les traits de soulignement et autres symboles : ^[u4E00-u9FA5A-Za-z0-9]+$ ou ^[u4E00- u9FA5A-Za-z0-9]{ 2,20}$

Vous pouvez saisir des caractères contenant ^%&',;=?$": [^%&',;=?$x22]+

Il est interdit de saisir des caractères contenant~ Caractères : [^~x22]+

3. Expression de besoins particuliers

Adresse e-mail : ^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})+/.?

URL Internet : [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 "XXXXXXX) : ^($$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 de carte d'identité (15 chiffres, 18 chiffres) : ^d{15}|d{18}$

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}?$

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}$

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}$

Mot de passe fort (doit contenir une combinaison de lettres majuscules et minuscules et de chiffres, les caractères spéciaux ne peuvent pas être utilisé, la longueur est comprise entre 8 et 10) : ^(?= .*d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$

Date format : ^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 de l'argent :

  • Il existe quatre formes de représentation monétaire que nous pouvons accepter : "10000.00" et "10,000.00", et pas de "cents" "10000" et "10,000": ^[1-9][0-9]*$

  • Cela représente n'importe quel nombre qui ne commence pas par 0, mais cela aussi Cela signifie qu'un caractère "0" n'est pas passé, on utilise donc la forme suivante : ^(0|[1-9][0-9]*)$

  • un 0 ou un Nombres qui ne commencent pas par 0. On peut aussi autoriser un signe négatif au début : ^(0|-?[1-9][0-9]*) $

  • Cela signifie A 0 ou un nombre qui peut être négatif et 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 qu'il faut ajouter ensuite, c'est indiquer la partie décimale possible :^[0-9]+(.[0-9]+)?$

  • Il faut noter qu'il doit être au moins 1 chiffre après la virgule décimale, donc "10." n'est pas transmis, mais "10" et "10.2" sont transmis : ^[0-9]+(.[0-9]{2}) ? $

  • 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})?$

  • 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 + 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 le résultat final, don 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]$

Expression régulière pour les caractères chinois : [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 sont 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*?)[^> ]*>.*?|<.*? /> (La version qui circule sur Internet est dommage, et celle ci-dessus ne peut fonctionner que partiellement, pour des balises imbriquées complexes. Toujours incapable de faire quoi que ce soit )

Expression régulière pour les caractères vides au début et à la fin : ^s*|s*$ ou (^s*)|(s*$) (peut être utilisée pour supprimer les caractères vides au début et à la fin de la ligne (y compris les espaces, les tabulations, les sauts de formulaire, 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 de Chine : [1-9]d{5}(?!d) (le code postal de Chine est composé de 6 chiffres)

Adresse IP : d+.d+.d+.d+ (Utile lors de l'extraction de l'adresse IP)

Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun.


Recommandations associées :

RégulierExpressionExplication détaillée des étapes de commentaire de la déclaration

Utilisez un objet expression régulière pour implémenter en détail les étapes d'acquisition régulières

B et b dans une expression régulière Explication détaillée des étapes d'utilisation

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