Rumah >pembangunan bahagian belakang >C++ >Adakah Pengesahan E -mel Regex adalah pendekatan terbaik, atau alternatif seperti System.net.mail.mailaddress lebih dipercayai?
Pengesahan e -mel: Mengapa regex jatuh pendek dan pendekatan yang lebih baik
Ekspresi biasa (regex) sering digunakan untuk pengesahan e -mel, tetapi mereka mempunyai batasan. Corak regex standard, walaupun yang canggih, berjuang untuk menjelaskan landskap dan format e -mel yang luas dan berkembang. Mereka mungkin terlepas domain peringkat tinggi yang kurang biasa (TLDs) seperti ".Museum" atau gagal mengenal pasti struktur e-mel yang sah. Membuat regex yang benar-benar komprehensif untuk pengesahan e-mel boleh menjadi sangat kompleks dan rawan ralat.Penyelesaian yang lebih dipercayai dalam .NET ialah kelas
. Kelas terbina dalam ini menyediakan cara yang mantap dan cekap untuk mengesahkan alamat e-mel. System.Net.Mail.MailAddress
<code class="language-csharp">public bool IsValidEmail(string emailAddress) { try { var mailAddress = new MailAddress(emailAddress); return true; } catch (FormatException) { return false; } }</code>Penciptaan objek yang berjaya menunjukkan e -mel yang sah; Jika tidak,
dibuang. MailAddress
FormatException
MailAddress.TryCreate
Bagi mereka yang lebih suka mengelakkan
dan versi kemudian menawarkan kaedah try-catch
. Ini memberikan pengendalian ralat yang lebih baik, membolehkan anda memeriksa kesahihan tanpa pengecualian. .
.NET 5
Dengan memanfaatkan kelas MailAddress.TryCreate
, pemaju dapat mencapai pengesahan e -mel yang lebih tepat dan dapat dipelihara tanpa kerumitan dan potensi perangkap regex.
Atas ialah kandungan terperinci Adakah Pengesahan E -mel Regex adalah pendekatan terbaik, atau alternatif seperti System.net.mail.mailaddress lebih dipercayai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!