Rumah >Java >javaTutorial >Bagaimanakah Java Regex Boleh Mengesahkan Alamat E-mel dengan Berkesan?
Pengesahan E-mel dengan Java Regex
Mengesahkan alamat e-mel menggunakan ungkapan biasa ialah pendekatan yang kurang disyorkan, tetapi untuk meneruskan kaedah ini, adalah penting untuk memahami potensi isu yang boleh dikemukakan.
Pertama, mari kita periksa yang disediakan regex:
b[A-Z0-9._%-] @[A-Z0-9.-] .[A-Z]{2,4}b
Di Jawa, kod berikut telah digunakan:
Pattern p = Pattern.compile("\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b"); Matcher m = p.matcher("[email protected]");
Walau bagaimanapun, regex gagal sepadan dengan alamat e-mel yang sah. Mari kita pertimbangkan kod dan regex untuk mengenal pasti punca yang berpotensi untuk kegagalan.
Ciri "cari dan ganti" dalam Eclipse menggunakan regex yang sama berkelakuan berbeza kerana ia mungkin tidak menggunakan algoritma padanan corak yang sama atau mungkin telah merawat rentetan input secara berbeza.
Untuk menyelesaikan isu ini, anda boleh mempertimbangkan untuk menggunakan pengesahan e-mel yang lebih halus regex:
public static final Pattern VALID_EMAIL_ADDRESS_REGEX = Pattern.compile("^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,6}$", Pattern.CASE_INSENSITIVE); public static boolean validate(String emailStr) { Matcher matcher = VALID_EMAIL_ADDRESS_REGEX.matcher(emailStr); return matcher.matches(); }
regex yang dikemas kini ini mengikut format yang lebih ketat untuk memastikan alamat e-mel yang sah dipadankan. Ia juga menggunakan corak tidak peka huruf besar-besaran untuk membenarkan variasi dalam sarung e-mel.
Atas ialah kandungan terperinci Bagaimanakah Java Regex Boleh Mengesahkan Alamat E-mel dengan Berkesan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!