Der reguläre passende PHP-E-Mail-Code wird detaillierter analysiert. Ich hoffe, dass Freunde, die Fragen dazu haben, einen Blick darauf werfen können.
CODE:
1. <?php
2. if (ereg(“/^[az]([a-z0-9]*[-_.]?[a-z0-9]+)*@([a-z0-9]*[- _]?[a-z0-9]+)+[.][az]{2,3}([.][az]{2})?$/i ”,$email)){
3. echo „Ihre E-Mail-Adresse ist korrekt!“;}
4.sonst{
5. echo „Bitte versuchen Sie es noch einmal!“;
6. }
7. ?>
Das Format des internationalen Domainnamens ist wie folgt:
Der Domainname besteht aus einer beliebigen Kombination bestimmter Zeichensätze, englischer Buchstaben, Zahlen und „-“ (d. h. Bindestriche oder Minuszeichen) in verschiedenen Ländern. Allerdings darf „-“ nicht am Anfang oder Ende stehen und „-“ darf nicht verwendet werden. kann nicht kontinuierlich erscheinen. Bei Buchstaben in Domänennamen wird die Groß-/Kleinschreibung nicht beachtet. Der Domainname kann bis zu 60 Byte lang sein (einschließlich der Suffixe .com, .net, .org usw.).
/^[az]([a-z0-9]*[-_]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9 ]+)+[.][az]{2,3}([.][az]{2})?$/i;
/content/i bildet einen regulären Ausdruck, bei dem die Groß-/Kleinschreibung nicht berücksichtigt wird.
^ Spiel beginnt
$ Ende des Spiels
[az] Das E-Mail-Präfix muss mit einem englischen Buchstaben beginnen
([a-z0-9]*[-_]?[a-z0-9]+)* stimmt mit _a_2, aaa11, _1_a_2 überein, stimmt aber nicht mit a1_, aaff_33a_, a__aa überein stimmt auch überein, * bedeutet 0 oder mehr.
* steht für 0 oder mehr vorangehende Zeichen.
[a-z0-9]* entspricht 0 oder mehr englischen Buchstaben oder Zahlen
[-_]? Entspricht 0 oder 1 „-“, da „-“ nicht nacheinander erscheinen kann
[a-z0-9]+ entspricht einem oder mehreren englischen Buchstaben oder Zahlen, da „-“ nicht als Ende verwendet werden kann
@ Es muss einen geben @
([a-z0-9]*[-_]?[a-z0-9]+)+ siehe oben ([a-z0-9]*[-_]?[a-z0-9]+)* Erklärung, aber es darf nicht leer sein, + bedeutet eins oder mehrere.
[.] Behandeln Sie Sonderzeichen (.) wie gewöhnliche Zeichen
[az]{2,3} entspricht 2 bis 3 englischen Buchstaben, normalerweise com oder net usw.
([.][az]{2})? Entspricht 0 oder 1 [.][az]{2} (z. B. .cn usw.) Ich weiß nicht, ob der letzte Teil von .com.cn ist normalerweise zweistellig. Wenn nicht, ändern Sie bitte {2} in {Anzahl der Anfangswörter, Anzahl der Endwörter}
Perfekter regulärer E-Mail-Ausdruck, mit ausführlicher Erklärung, bitte helfen Sie beim Testen! 2. Extrahieren Sie die E-Mail in der Zeichenfolge:
<?php
Funktion getEmail($str) {
$pattern = "/([a-z0-9]*[-_.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0 -9]+)+[.][az]{2,3}([.][az]{2})?/i";
preg_match_all($pattern,$str,$emailArr);
return $emailArr[0];
}
$emailstr = " [email protected] Ich komme nicht aus Mivi, also habe ich die iid-Mailingliste geöffnet: [email protected] und [email protected] ;.;;, [email protected], fu-1999@ sina.com ";
$emailArr = getEmail($emailstr);
echo „<pre>“;
print_r($emailArr);
echo "</pre>";
?>
Drucken Sie wie folgt:
Array
(
[0] =>[email protected]
[1] =>[email protected]
[2] =>[email protected]
[3] =>[email protected]
[4] =>[email protected]
)
3. Vergleich: Der reguläre Ausdruck im zweiten enthält nicht ^ und $ im ersten;