Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Theorie regulärer Ausdrücke

PHP-Theorie regulärer Ausdrücke

墨辰丷
墨辰丷Original
2018-05-16 14:19:251495Durchsuche

Dieser Artikel stellt hauptsächlich das theoretische Wissen über reguläre PHP-Ausdrücke vor. Ich hoffe, dass er für alle hilfreich ist.

1. Ausdruck der Prüfziffern

1 Zahl:
^[0-9]*$
2 n-stellige Zahl:
^d{n }$
3 Zahl mit mindestens n Ziffern:
^d{n,}$
4 Zahl mit m-n Ziffern:
^d{m,n}$
5 Null und ungleich Null Zahlen am Anfang:
^(0|[1-9][0-9]*)$
6 Zahlen beginnend mit nicht Null und mit bis zu zwei Dezimalstellen:
^([1 -9] [0-9]*)+(.[0-9]{1,2})?$
7 Positive oder negative Zahl mit 1-2 Dezimalstellen:
^(-)?d+ (. d{1,2})?$
8 Positive Zahlen, negative Zahlen und Dezimalzahlen:
^(-|+)?d+(.d+)?$
9 Positive reelle Zahlen mit zwei Dezimalstellen:
^[0-9]+(.[0-9]{2})?$
10 Eine positive reelle Zahl mit 1~3 Dezimalstellen:
^[0-9] +(.[ 0-9]{1,3})?$
11 Positive Ganzzahl ungleich Null:
^[1-9]d*$ oder ^([1-9][0-9 ]*){ 1,3}$ oder ^+?[1-9][0-9]*$
12 Negative Ganzzahl ungleich Null:
^-[1-9][]0-9 „*$ oder ^-[1-9]d*$
13 Nicht negative Ganzzahl:
^d+$ oder ^[1-9]d*|0$
14 Nicht positive Ganzzahl:
^-[ 1-9]d*|0$ oder ^((-d+)|(0+))$
15 Nicht negative Gleitkommazahl:
^d+(.d+)? $ oder ^[1-9] d*.d*|0.d*[1-9]d*|0?.0+|0$
16 Nicht positive Gleitkommazahl:
^( (-d+(.d+)?)|. (0+(.0+)?))$ oder ^(-([1-9]d*.d*|0.d*[1-9]d*) )|0?.0+|0$
17 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]*))$
18 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]*)))$
19 Gleitkomma Zahl:
^(-?d+)(. d+)?$ oder ^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+ |0)$

2. Korrektur Ausdruck validierender Zeichen

1 Chinesische Schriftzeichen:
^[u4e00-u9fa5]{0,}$
2 Englische und Zahlen:
^[A-Za-z0-9]+ $ oder ^[A-Za-z0-9]{4,40}$
3 Alle Zeichen der Länge 3-20:
^.{3 ,20}$
4 mal 26 Englisch Eine Zeichenfolge:
^[A-Za-z]+$
5 Eine Zeichenfolge aus 26 englischen Großbuchstaben:
^[A-Z]+$
6 Eine Zeichenfolge aus 26 englischen Großbuchstaben. Eine Zeichenfolge bestehend aus englischen Kleinbuchstaben:
^[a-z]+$
7 Eine Zeichenfolge bestehend aus Zahlen und 26 englischen Buchstaben:
^[A-Za -z0-9]+$
8 Eine Zeichenfolge bestehend aus Zahlen, 26 englischen Buchstaben oder Unterstrichen:
^w+$ oder ^w{3,20}$
9 Chinesisch, Englisch, Zahlen einschließlich Unterstrichen:
^[u4E00- u9FA5A-Za-z0-9_]+$
10 Chinesisch, Englisch, Zahlen, jedoch ohne Unterstriche und andere Symbole:
^[u4E00-u9FA5A-Za-z0-9]+ $ oder ^[u4E00-u9FA5A- Za-z0-9]{2,20}$
11 Sie können Zeichen eingeben, die ^%&',;=?$" enthalten:
[^%&',; =?$x22]+
12 Es ist verboten, Zeichen einzugeben, die ~ enthalten:
[^~x22]+

3. Ausdrücke für besondere Bedürfnisse

1. E-Mail-Adresse:
^w+([-.]w+)*@w+([-.]w+)*.w+([-.]w+)*$
2 :
[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]* oder ^http://([w-]+.) + [w-]+(/[w-./?%&=]*)?$
4, 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}$
5, Telefonnummern („XXX-XXXXXXX“, „XXXX-XXXXXXXX“, „XXX-XXXXXXX“, „XXX-XXXXXXXX“, „XXXXXXX“ und „XXXXXXXX“):
^((d{3,4} -)|. d{3.4}-)?d{7,8}$
6 Inländische Telefonnummer (0511-4405222, 021-87888822):
d{3}-d{8}|d{4 }-d {7}
7. Ausweisnummer:
15- oder 18-stelliger Ausweis:
^d{15}|d{18}$
15-stelliger Ausweis:
^[1 -9]d{7}((0d)|(1[0-2]))(([0|1|2]d)|3[0-1])d{3}$
18-Bit-ID-Karte:
^[1-9]d{5}[1-9]d{3}((0d)|(1[0-2]))(([0|1| 2]d) |3[0-1])d{4}$
8. Kurze ID-Nummer (Zahlen, Buchstaben, die mit x enden):
^([0-9]){7,18} (x|X )?$
or
^d{8,18}|[0-9x]{8,18}|[0-9X]{8,18}?$
9. Ist das Konto legal (beginnt mit einem Buchstaben, erlaubt 5-16 Bytes, erlaubt alphanumerische Unterstriche):
^[a-zA-Z][a-zA-Z0-9_]{4,15}$
10, Passwort (beginnend mit einem Buchstaben, die Länge liegt zwischen 6 und 18 und kann nur Buchstaben, Zahlen und Unterstriche enthalten):
^[a-zA-Z]w{5,17}$
11, sicheres Passwort (muss die Größe enthalten. Schreiben Sie eine Kombination aus Buchstaben und Zahlen, Sonderzeichen können nicht verwendet werden, die Länge liegt zwischen 8 und 10):
^(?=.*d)(?=.*[a-z ])(?=.*[A-Z]) .{8,10}$
12. Datumsformat:
^d{4}-d{1,2}-d{1,2}
13. 12 Monate des Jahres (01 ~09 und 1~12):
^(0?[1-9]|1[0-2])$
14, 31 Tage eines Monats ( 01~09 und 1~31):
^((0?[1-9])|((1|2)[0-9])|30|31)$
15, Geldeingabeformat :
16, 1. Ja, wir können vier Formen der Gelddarstellung akzeptieren: „10.000,00“ und „10.000,00“ sowie „10.000“ und „10.000“ ohne „Cent“:
^[1-9][0 -9]*$
17, 2. Damit ist jede Zahl gemeint, die nicht mit 0 beginnt, aber es bedeutet auch, dass ein Zeichen „0“ nicht übergeben wird, daher verwenden wir die folgende Form:
^(0 |[1-9][ 0-9]*)$
18, 3. 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]*)$
19, 4. 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 die Auch ein negatives Vorzeichen, denn Geld kann niemals. Ist es negativ? Was wir unten hinzufügen müssen, ist die Erklärung des möglichen Dezimalteils:
^[0-9]+(.[0-9]+)?$
20, 5. Was erklärt werden muss, ist: Es sollte mindestens eine Ziffer nach dem Komma stehen, also wird nicht „10“ übergeben, sondern „10“ und „10.2“ werden übergeben:
^[0-9 ]+(.[0-9]{2 })?$
21. Auf diese Weise legen wir fest, dass nach dem Komma zwei Dezimalstellen stehen müssen Tun Sie dies:
^[0-9]+(.[0-9]{1 ,2})?$
22. Dies ermöglicht dem Benutzer, nur eine Dezimalstelle zu schreiben das Komma in der Zahl. Wir können dies tun:
^[0-9]{1,3 }(,[0-9]{3})*(.[0-9]{1,2}) ?$
23, 8,1 bis 3 Zahlen, gefolgt von einem beliebigen Komma + 3 Zahlen, Komma Werden optional, nicht erforderlich:
^([0-9]+|[0-9]{1,3}( ,[0-9]{3})*)(.[0-9] {1,2})?$
24. Hinweis: Dies ist das Endergebnis durch „*“ ersetzt, wenn Sie der Meinung sind, dass eine leere Zeichenfolge akzeptabel ist (seltsam, warum?). Vergessen Sie schließlich nicht, den Backslash zu entfernen, wenn Sie die Funktion verwenden. Die häufigsten Fehler finden Sie hier:
25, XML-Datei:
^([a-zA-Z]+-?)+[a-zA -Z0-9]+\.[x|X][m|M][l|L]$
26, regulärer Ausdruck von Chinesische Zeichen:
[u4e00-u9fa5]
27, Doppelbyte-Zeichen:
[^x00-xff]
(einschließlich chinesischer Zeichen, kann zur Berechnung der Länge der Zeichenfolge verwendet werden (die Länge). eines Doppelbyte-Zeichens wird als 2 gezählt und die Länge eines ASCII-Zeichens wird als 1 gezählt))
28 . Regulärer Ausdruck für Leerzeilen: ns*r (kann zum Löschen von Leerzeilen verwendet werden)
29. Regulärer Ausdruck für HTML-Tags:
<(S*?)[^>]*> *?|<.*? /> ist schade, das obige kann nur teilweise funktionieren und ist für komplexe verschachtelte Tags immer noch machtlos)
30. Regularisierung von führenden und nachfolgenden Leerzeichen Ausdruck: ^s*|s*$ oder (^s*)| (s*$) (kann zum Löschen von Leerzeichen am Anfang und Ende der Zeile (einschließlich Leerzeichen, Tabulatoren, Formularvorschüben usw.) verwendet werden, sehr nützliche Ausdrücke)
31, Tencent QQ-Nummer: [1- 9][0-9]{4,} (Tencent QQ-Nummer beginnt bei 10000)
32, China-Postleitzahl: [1-9] d{5}(?!d) (China-Postleitzahl ist 6-stellig)
33. IP-Adresse: d+.d+.d+.d+ (nützlich beim Extrahieren der IP-Adresse)

Verwandte Empfehlungen:

Reguläre Ausdrücke in PHP

JS-Validierung von regulären Ausdrücken für das Geburtsdatum

Reguläre Ausdrücke in PHP, die Gruppen und nicht erfassende Gruppen erfassen

Das obige ist der detaillierte Inhalt vonPHP-Theorie regulärer Ausdrücke. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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