Kesalahan Regex dalam Pengesahan E-mel
Mengesahkan alamat e-mel menggunakan ungkapan biasa boleh menjadi tugas yang sukar, terutamanya untuk alamat subdomain. Untuk menangani cabaran ini, mari kita terokai batasan bergantung semata-mata pada regex.
Batasan Pengesahan Regex
Semasa mengesahkan ketepatan sintaksis alamat e-mel (mis., kehadiran daripada @ dan .), regex gagal mengambil kira kesilapan silap dan memastikan bahawa alamat itu benar-benar wujud. Menyelesaikan isu ini memerlukan semakan yang lebih meluas, iaitu:
Semakan Mudah Disyorkan
Memandangkan pengehadan pengesahan regex, semakan asas yang mengenal pasti ralat pengguna biasa selalunya mencukupi:
[^@]+@[^@]+\.[^@]+
Reeks ini mengesahkan kehadiran tepat satu @ simbol dan sekurang-kurangnya satu . selepas @.
Menggunakan Ungkapan Biasa dalam Kod
Untuk memasukkan regex di atas ke dalam kod, gunakan modul semula dalam Python:
import re if not re.match(r"[^@]+@[^@]+\.[^@]+", email): # Handle invalid email address
Perhatikan penggunaan rentetan mentah Python yang diawali dengan r untuk mengelakkan aksara terlepas dua kali. Untuk regeks kompleks, pertimbangkan untuk menyusunnya dahulu:
EMAIL_REGEX = re.compile(r"[^@]+@[^@]+\.[^@]+") if not EMAIL_REGEX.match(email): # Handle invalid email address
Atas ialah kandungan terperinci Adakah Regex Cukup untuk Pengesahan E-mel yang Tepat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!