Heim >Java >javaLernprogramm >Wie kann Java Regex E-Mail-Adressen effektiv validieren?

Wie kann Java Regex E-Mail-Adressen effektiv validieren?

DDD
DDDOriginal
2024-12-02 16:01:16156Durchsuche

How Can Java Regex Effectively Validate Email Addresses?

E-Mail-Validierung mit Java Regex

Die Validierung von E-Mail-Adressen mithilfe regulärer Ausdrücke ist ein weniger empfohlener Ansatz, aber um mit dieser Methode fortzufahren, ist sie wichtig um die möglichen Probleme zu verstehen.

Lassen Sie uns zunächst die bereitgestellten Informationen untersuchen Regex:

b[A-Z0-9._%-] @[A-Z0-9.-] .[A-Z]{2,4}b

In Java ist die Der folgende Code wurde verwendet:

Pattern p = Pattern.compile("\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b");
Matcher m = p.matcher("[email protected]");

Der reguläre Ausdruck konnte jedoch nicht mit einer gültigen E-Mail-Adresse übereinstimmen. Betrachten wir den Code und den regulären Ausdruck, um mögliche Ursachen für den Fehler zu identifizieren.

Die Funktion „Suchen und Ersetzen“ in Eclipse, die denselben regulären Ausdruck verwendet, verhielt sich anders, da sie möglicherweise nicht denselben Mustervergleichsalgorithmus verwendet oder behandelt hat die Eingabezeichenfolge anders.

Um dieses Problem zu beheben, können Sie die Verwendung einer verfeinerten E-Mail-Validierungs-Regex in Betracht ziehen:

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();
}

Diese aktualisierte Regex folgt a strengeres Format, um sicherzustellen, dass gültige E-Mail-Adressen übereinstimmen. Es verwendet außerdem ein Muster, bei dem die Groß-/Kleinschreibung nicht beachtet wird, um Variationen in der E-Mail-Schreibweise zu ermöglichen.

Das obige ist der detaillierte Inhalt vonWie kann Java Regex E-Mail-Adressen effektiv validieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn