Rumah >pembangunan bahagian belakang >C++ >Adakah Pengesahan E-mel Ungkapan Biasa Boleh Dipercayai, atau Perlukah Kami Menggunakan Pendekatan Berbeza?
Walaupun penggunaan ungkapan biasa yang meluas untuk mengesahkan alamat e-mel, ungkapan biasa seperti yang disediakan menimbulkan kebimbangan tentang keberkesanannya. Regex yang dimaksudkan bertujuan untuk menangkap:
Walau bagaimanapun, terdapat batasan yang wujud untuk pendekatan ini:
1. TLD yang tiada tandingan:
TLD yang panjang, seperti .muzium, tidak dipadankan dengan regex. Selain itu, ia gagal mengesahkan alamat e-mel dengan TLD tertentu yang kurang biasa.
2. Kekurangan Kekukuhan:
Reex mungkin tidak mengendalikan kes tepi dengan berkesan. Sebagai contoh, alamat e-mel yang mengandungi ruang atau TLD yang tiada boleh melalui pengesahan.
Pendekatan Alternatif
Daripada bergantung pada ungkapan biasa, pertimbangkan untuk menggunakan System.Net. Kelas Mail.MailAddress untuk mengesahkan alamat e-mel. Microsoft mengesyorkan pendekatan ini kerana ketepatannya yang lebih tinggi:
public bool IsValid(string emailaddress) { try { MailAddress m = new MailAddress(emailaddress); return true; } catch (FormatException) { return false; } }
Kaedah ini memintas keperluan untuk corak regex yang kompleks, mengurangkan kemungkinan ralat dan meningkatkan kebolehpercayaan pengesahan e-mel.
Atas ialah kandungan terperinci Adakah Pengesahan E-mel Ungkapan Biasa Boleh Dipercayai, atau Perlukah Kami Menggunakan Pendekatan Berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!