El código PHP de correo electrónico coincidente se analiza con más detalle. Espero que los amigos que tengan preguntas sobre esto puedan echarle un vistazo.
CÓDIGO:
1. <?php
2. if (ereg(“/^[az]([a-z0-9]*[-_.]?[a-z0-9]+)*@([a-z0-9]*[- _]?[a-z0-9]+)+[.][az]{2,3}([.][az]{2})?$/i ”,$correo electrónico)){
3. echo “¡Su dirección de correo electrónico es correcta!”;}
4.más {
5. echo "¡Por favor, inténtalo de nuevo!";
6. }
7. ?>
El formato del nombre de dominio internacional es el siguiente:
El nombre de dominio se compone de cualquier combinación de conjuntos de caracteres específicos, letras en inglés, números y "-" (es decir, guiones o signos menos) en varios países. Sin embargo, "-" no se puede incluir al principio ni al final, y "-". no puede aparecer continuamente. Las letras de los nombres de dominio no distinguen entre mayúsculas y minúsculas. El nombre de dominio puede tener hasta 60 bytes de longitud (incluidos los sufijos .com, .net, .org, etc.).
/^[az]([a-z0-9]*[-_]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9 ]+)+[.][az]{2,3}([.][az]{2})?$/i;
/content/i forma una expresión regular que no distingue entre mayúsculas y minúsculas;
^ comienza el partido
$ Fin del partido
[az] El prefijo de correo electrónico debe comenzar con una letra en inglés
([a-z0-9]*[-_]?[a-z0-9]+)* coincide con _a_2, aaa11, _1_a_2, pero no coincide con a1_, aaff_33a_, a__aa. también coincide, * significa 0 o más.
* representa 0 o más caracteres anteriores.
[a-z0-9]* coincide con 0 o más letras o números en inglés
[-_]? Coincide con 0 o 1 "-", porque "-" no puede aparecer consecutivamente
[a-z0-9]+ coincide con 1 o más letras o números en inglés, porque "-" no se puede utilizar como final
@ Debe haber un @
([a-z0-9]*[-_]?[a-z0-9]+)+ ver arriba ([a-z0-9]*[-_]?[a-z0-9]+)* Explicación, pero no puede estar vacío, + significa uno o más.
[.] Trate los caracteres especiales (.) como caracteres normales
[az]{2,3} coincide con 2 a 3 letras en inglés, generalmente com o net, etc.
([.][az]{2})? Coincide con 0 o 1 [.][az]{2} (como .cn, etc.) No sé si la última parte de .com.cn suele ser de dos dígitos; de lo contrario, cambie {2} por {número de palabras iniciales, número de palabras finales}
Perfecta expresión regular de correo electrónico, con explicación detallada, ¡ayúdenos a probarla! 2. Extraiga el correo electrónico en la cadena:
<?php
función getEmail($cadena) {
$patrón = "/([a-z0-9]*[-_.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0 -9]+)+[.][az]{2,3}([.][az]{2})?/i";
preg_match_all($patrón,$cadena,$emailArr);
devolver $correo electrónicoArr[0];
}
$emailstr = " [email protected] No soy de Mivi, así que abrí la lista de correo de iid: [email protected] y [email protected] ;.;;, [email protected], [email protected] ";
$emailArr = getEmail($emailstr);
eco "<pre>";
print_r($correo electrónicoArr);
eco "</pre>";
?>
Imprima de la siguiente manera:
Formación
(
[0] =>[email protected]
[1] =>[email protected]
[2] =>[email protected]
[3] =>[email protected]
[4] =>[email protected]
)
3. Comparación: La expresión regular en la segunda no tiene ^ y $ en la primera;