Kode email pencocokan reguler PHP dianalisis lebih detail. Saya harap teman-teman yang memiliki pertanyaan tentang ini dapat melihatnya.
KODE:
1.<?php
2. jika (ereg(“/^[az]([a-z0-9]*[-_.]?[a-z0-9]+)*@([a-z0-9]*[- _]?[a-z0-9]+)+[.][az]{2,3}([.][az]{2})?$/i; ”,$email)){
3. echo “Alamat email Anda benar!”;}
4.lainnya{
5. gema “Silakan coba lagi!”;
6. }
7. ?>
Format nama domain internasional adalah sebagai berikut:
Nama domain terdiri dari kombinasi rangkaian karakter tertentu, huruf bahasa Inggris, angka, dan "-" (yaitu tanda hubung atau tanda minus) di berbagai negara. Namun, "-" tidak dapat disertakan di awal atau akhir, dan "-" tidak dapat muncul secara terus-menerus. Huruf dalam nama domain tidak peka huruf besar-kecil. Panjang nama domain bisa mencapai 60 byte (termasuk akhiran .com, .net, .org, dll.).
/^[az]([a-z0-9]*[-_]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9 ]+)+[.][az]{2,3}([.][az]{2})?$/i;
/content/i membentuk ekspresi reguler yang tidak peka huruf besar-kecil;
^ pertandingan dimulai
$ Akhir pertandingan
[az] Awalan email harus diawali dengan huruf bahasa Inggris
([a-z0-9]*[-_]?[a-z0-9]+)* cocok dengan _a_2, aaa11, _1_a_2, tetapi tidak cocok dengan a1_, aaff_33a_, a__aa juga cocok, * berarti 0 atau lebih.
* mewakili 0 atau lebih karakter sebelumnya.
[a-z0-9]* cocok dengan 0 atau lebih huruf atau angka bahasa Inggris
[-_]? Cocok dengan 0 atau 1 "-", karena "-" tidak dapat muncul secara berurutan
[a-z0-9]+ cocok dengan 1 atau lebih huruf atau angka bahasa Inggris, karena "-" tidak dapat digunakan sebagai akhiran
@ Pasti ada @
([a-z0-9]*[-_]?[a-z0-9]+)+ lihat di atas ([a-z0-9]*[-_]?[a-z0-9]+)* Penjelasannya, tapi tidak boleh kosong, + artinya satu atau lebih.
[.] Perlakukan karakter khusus (.) sebagai karakter biasa
[az]{2,3} cocok dengan 2 hingga 3 huruf bahasa Inggris, biasanya com atau net, dll.
([.][az]{2})? Cocok dengan 0 atau 1 [.][az]{2} (seperti .cn, dll.) Saya tidak tahu apakah bagian terakhir dari .com.cn biasanya Dua digit, jika tidak, harap ubah {2} menjadi {jumlah kata awal, jumlah kata akhir}
Ekspresi reguler E-Mail yang sempurna, dengan penjelasan mendetail, tolong bantu mengujinya! 2. Ekstrak email pada string:
<?php
fungsi getEmail($str) {
$pola = "/([a-z0-9]*[-_.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0 -9]+)+[.][az]{2,3}([.][az]{2})?/i";
preg_match_all($pola,$str,$emailArr);
kembalikan $emailArr[0];
}
$emailstr = " [email protected] Saya bukan dari Mivi, jadi saya membuka milis iid: [email protected] dan [email protected] ;.;;, [email protected], fu-1999@ sina.com ";
$emailArr = getEmail($emailstr);
gema "<sebelum>";
print_r($emailArr);
gema "</pre>";
?>
Cetak sebagai berikut:
Himpunan
(
[0] =>[email protected]
[1] =>[email protected]
[2] =>[email protected]
[3] =>[email protected]
[4] =>[email protected]
)
3. Perbandingan: Regex pada regex kedua tidak memiliki ^ dan $ pada regex pertama;