Rumah > Java > javaTutorial > Bagaimanakah Java Regex Boleh Mengesahkan Alamat E-mel dengan Berkesan?

Bagaimanakah Java Regex Boleh Mengesahkan Alamat E-mel dengan Berkesan?

DDD
Lepaskan: 2024-12-02 16:01:16
asal
161 orang telah melayarinya

How Can Java Regex Effectively Validate Email Addresses?

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]");
Salin selepas log masuk

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();
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan