Ich versuche, E-Mail in Java zu validieren. Unten ist der Code:Java Regex Problem mit der E-Mail-Validierung
String mail = "[email protected]";
String regex = "^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";
if(mail.matches(regex)){
System.out.println("valid email");
};
Jetzt möchte ich zu 10 Zeichen und einer Länge von Text3 bis 5 Zeichen, die Länge von Text1 und Text2 zu beschränken.
ich mit dieser Regex versucht, aber hat nicht funktioniert - ^[_A-Za-z0-9-]+(\.[_A-Za-z0-9-]{2,}+)*@[A-Za-z0-9]+(\.[A-Za-z0-9]+)*(\.[A-Za-z]{2,})$
Wie kann ich dies tun erreichen? Danke.
Es wäre gut, Beispiele für E-Mail-Adressen zu haben, die korrekt sind und die nach Ihren Anforderungen inkorrekt sein sollten. –
Bitte zeigen Sie auch auf diese E-Mails, welchen Teil Sie als text1/text2/text3 betrachten. –
Sie sollten dies nicht tun. Gehen Sie mit etwas wie '. + @. +' Oder '. + @. + \ .. +'. Verschiedene Anbieter erlauben unterschiedliche Zeichen in der E-Mail-Adresse. Gemäß der E-Mail-Adresse können Sie jeden beliebigen Charakter eingeben, wenn Sie ihm entkommen. Gmail zum Beispiel lässt das Pluszeichen vor @ zu, für das ich keine Behandlung in Ihrer Regex sehe. Gmail lässt sogar einen Punkt als erstes Zeichen zu, das gemäß der E-Mail-Adressspezifikation ungültig ist. –