Heim  >  Artikel  >  Backend-Entwicklung  >  Ausführliche Erklärung der am häufigsten verwendeten regulären Ausdrücke in PHP

Ausführliche Erklärung der am häufigsten verwendeten regulären Ausdrücke in PHP

黄舟
黄舟Original
2017-03-30 17:53:524233Durchsuche

In diesem Artikel werden die am häufigsten verwendeten regulären Ausdrücke in PHP organisiert und vorgestellt. Es hat einen sehr guten Referenzwert, schauen wir es uns mit dem Editor unten an

1 Ausdruck der Scheckzahlen

Zahl: ^[0-9] *$

N-stellige Zahl: ^d{n}$

Mindestens n-stellige Zahl: ^d{n,}$

m-n-stellige Zahl: ^ d{m,n}$

Zahlen, die mit Null und Nicht-Null beginnen: ^(0|[1-9][0-9]*)$

Zahlen, die mit Nicht-Null beginnen -höchstens Null Zahl mit zwei Dezimalstellen: ^([1-9][0-9]*)+(.[0-9]{1,2})?$

Positive Zahl mit 1 -2 Dezimalstellen Zahlen oder negative Zahlen: ^(-)?d+(.d{1,2})?$

Positive Zahlen, negative Zahlen und Dezimalzahlen: ^(-|+)?d+( .d+)?$

Positive reelle Zahl mit zwei Dezimalstellen: ^[0-9]+(.[0-9]{2})?$

Positive reelle Zahl mit 1 ~3 Dezimalstellen: ^ [0-9]+(.[0-9]{1,3})?$

Positive Ganzzahl ungleich Null: ^[1-9]d*$ oder ^ ([1-9] [0-9]*){1,3}$ oder ^+?[1-9][0-9]*$

Negative Ganzzahl ungleich Null: ^-[ 1-9][] 0-9″*$ oder ^-[1-9]d*$

nicht negative ganze Zahl: ^d+$ oder ^[1-9]d*|0$

nicht-positive Ganzzahl: ^-[1-9]d*|0$ oder ^((-d+)|(0+))$

Nicht-negative Gleitkommazahl: ^ d+(.d+)?$ oder ^[ 1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$

Nicht positives Floating Punktnummer: ^((-d+(.d+) ?)|(0+(.0+)?))$ oder ^(-([1-9]d*.d*|0.d*[1- 9]d*))|0?.0+ |0$

Positive Gleitkommazahl: ^[1-9]d*.d*|0.d*[1-9]d*$ oder ^(([0-9]+.[0 -9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[ 0-9]+)|([0-9] *[1-9][0-9]*))$

Negative Gleitkommazahl: ^-([1-9]d*. d*|0.d*[1-9]d* )$ oder ^(-(([0-9]+.[0-9]*[1-9][0-9]*)|([ 0-9]*[1-9][0-9 ]*.[0-9]+)|([0-9]*[1-9][0-9]*)))$

Gleitkommazahl: ^(-?d+)(. d+)?$ oder ^-?([1-9]d*.d*|0.d*[1-9]d*|0?. 0+|0)$

2. Ausdruck von Prüfzeichen

Chinesische Schriftzeichen: ^[u4e00-u9fa5]{0,}$

Englisch und Zahlen: ^[A-Za-z0-9] +$ oder ^[A-Za-z0-9]{4,40}$

alle Zeichen der Länge 3-20: ^.{ 3,20}$

by 26 Eine Zeichenfolge bestehend aus 26 englischen Großbuchstaben: ^[A-Za-z]+$

Eine Zeichenfolge bestehend aus 26 englischen Großbuchstaben: ^[A-Z ]+$

bestehend aus 26 Eine Zeichenfolge bestehend aus englischen Kleinbuchstaben: ^[a-z]+$

Eine Zeichenfolge bestehend aus Zahlen und 26 englischen Buchstaben: ^[A-Za-z0- 9]+$

Eine Zeichenfolge bestehend aus Zahlen, 26 englischen Buchstaben oder Unterstrichen: ^w+$ oder ^w{3,20}$

Chinesisch, Englisch, Zahlen einschließlich Unterstrichen: ^[ u4E00-u9FA5A-Za-z0- 9_]+$

Chinesisch, Englisch, Zahlen, jedoch ohne Unterstriche und andere Symbole: ^[u4E00-u9FA5A-Za-z0-9]+$ oder ^[u4E00- u9FA5A-Za-z0-9]{ 2,20}$

Sie können Zeichen eingeben, die ^%&',;=?$" enthalten: [^%&',;=?$x22]+

Es ist verboten, Zeichen einzugeben, die~ Zeichen enthalten: [^~x22]+

3. Ausdruck für besondere Bedürfnisse

E-Mail-Adresse: ^w+( [-+.]w+)*@w+( [-.]w+)*.w+([-.]w+)*$

Domainname: [a-zA-Z0-9][-a -zA-Z0-9]{0,62} (/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?

InternetURL: [a-zA-z]+:/ /[^s]* oder ^http://([w-]+.)+[w-]+(/[w-./?%&=] *)?$

Mobiltelefonnummer :^(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}$

Telefonnummer ("XXX-XXXXXXX", "XXXX-XXXXXXXX", "XXX -XXXXXXX", "XXX-XXXXXXXX", "XXXXXXX" und"XXXXXXXX): ^($$d{3,4}-)|d{3.4}-)?d{7,8}$

Inländische Telefonnummer (0511-4405222, 021-87888822) :d{3}-d{8}|d{4}-d{7}

Ausweisnummer (15 Ziffern, 18 Ziffern): ^d{15}|d{18}$

Kurze ID-Nummer (Zahlen, Buchstaben, die mit x enden): ^([0-9]){7,18}(x|X)?$ oder ^d{8,18}|[0-9x ]{8,18}|[0-9X]{8,18}?$

Ist das Konto legal (beginnend mit einem Buchstaben, 5-16 Bytes erlaubt, alphanumerische Unterstriche erlaubt): ^[a-zA -Z][a-zA-Z0-9_]{4,15}$

Passwort (beginnend mit einem Buchstaben, Länge zwischen 6~18, kann nur Buchstaben, Zahlen und Unterstriche enthalten): ^[ a-zA-Z]w{5,17}$

Starkes Passwort (muss eine Kombination aus Groß- und Kleinbuchstaben und Zahlen enthalten, Sonderzeichen dürfen nicht sein verwendet, Länge liegt zwischen 8-10): ^(?= .*d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$

Datum Format: ^d{4}-d{1,2} -d{1,2}

12 Monate im Jahr (01~09 und 1~12): ^(0?[1-9 ]|1[0-2])$

31 Tage eines Monats (01~09 und 1~31): ^((0?[1-9])|((1|2)[ 0-9])|30|31)$

Eingabeformat des Geldes:

  • Es gibt vier Formen der Gelddarstellung, die wir akzeptieren können : „10.000,00“ und „10.000,00“ und keine „Cents“ „10.000“ und „10.000“: ^[1-9][0-9]*$

  • Dies steht für irgendein Zahl, die nicht mit 0 beginnt, aber dies bedeutet auch, dass kein Zeichen „0“ übergeben wird, daher verwenden wir die folgende Form: ^(0|[1-9][0-9]*)$

  • eine 0 oder eine Zahl, die nicht mit 0 beginnt. Wir können auch ein negatives Vorzeichen am Anfang zulassen: ^(0|-?[1-9][0-9]*) $

  • Dies bedeutet eine 0 oder eine Zahl, die negativ sein kann und nicht mit 0 beginnt. Lassen Sie den Benutzer mit 0 beginnen. Entfernen Sie auch das negative Vorzeichen, da Geld nicht negativ sein kann. Als nächstes müssen wir den möglichen Dezimalteil erklären:^[0-9]+(.[0-9]+)?$

  • Es muss beachtet werden, dass dort sollte mindestens eine Nachkommastelle haben, daher wird nicht „10“, sondern „10“ und „10.2“ übergeben: ^[0-9]+(.[0-9]{2})? $

  • Auf diese Weise legen wir fest, dass nach dem Komma zwei Dezimalstellen stehen müssen. Wenn Sie denken, dass es zu hart ist, können Sie Folgendes tun: ^[0-9]+( .[0-9]{1,2})?$

  • Dadurch kann der Benutzer nur eine Dezimalstelle schreiben. Als nächstes sollten wir Kommas in Zahlen betrachten. Wir können Folgendes tun: ^[0-9]{1,3}(,[0-9]{3})*(.[0-9]{1,2}) ? $

  • 1 bis 3 Zahlen, gefolgt von einer beliebigen Anzahl Kommas + 3 Zahlen, die Kommas werden optional statt erforderlich: ^([0-9]+|[0 -9] {1,3}(,[0-9]{3})*)(.[0-9]{1,2})?$

  • Bemerkungen: Dies ist die Um das Endergebnis zu erhalten, vergessen Sie nicht, dass „+“ durch „*“ ersetzt werden kann. Wenn Sie der Meinung sind, dass leere Zeichenfolgen akzeptabel sind (seltsam, warum?), vergessen Sie nicht, den Backslash bei der Verwendung von Funktionen zu entfernen:

xml-Datei: ^([a -zA-Z]+-?)+[a-zA-Z0-9]+\.[x|X][m|M][l|L]$

Regulärer Ausdruck für chinesische Schriftzeichen: [u4e00-u9fa5]

Doppelbyte-Zeichen: [^x00-xff] (einschließlich chinesischer Zeichen, kann zur Berechnung der Länge der Zeichenfolge verwendet werden (die Länge eines Doppelbyte-Zeichens beträgt 2, ASCII-Zeichen sind 1))

Regulärer Ausdruck für Leerzeilen: ns*r (kann zum Löschen von Leerzeilen verwendet werden)

Regulärer Ausdruck für HTML-Tags: <( S*?)[^> ]*>.*?|<.*? /> )

Regulärer Ausdruck für Leerzeichen am Anfang und Ende: ^s*|s*$ oder (^s*)|(s*$) (kann verwendet werden, um Leerzeichen am Anfang und Ende zu löschen der Zeile (einschließlich Leerzeichen, Tabulatoren, Formularvorschübe usw.), sehr nützliche Ausdrücke)

Tencent QQ-Nummer: [1-9][0-9]{4,} (Tencent QQ-Nummer beginnt mit 10000 )

China-Postleitzahl: [1-9]d{5}(?!d) (China-Postleitzahl ist 6-stellig)

IP-Adresse: d+.d+.d+.d+ (Nützlich beim Extrahieren von IP-Adressen)

Das Obige ist die detaillierte Erklärung der am häufigsten verwendeten regulären Ausdrücke in PHP. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (m.sbmmt.com)!

Verwandte Artikel:

regulärer PHP-Code zum Filtern von HTML-Tags, Leerzeichen und Zeilenumbrüchen

So geben Sie Zeichen in regulären PHP-Ersetzungsvariablen an

Eine kurze Analyse von Beispielen für PHP-Funktionen zum Abgleich, Ersetzen und Segmentieren regulärer Ausdrücke

PHP-Entwicklungsfähigkeiten (12) – Detaillierte Erläuterung von Beispielcodes häufig verwendeter regulärer PHP-Ausdrücke

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn