Java e la validazione del formato di un indirizzo eMail

document_java

Java e la verifica del formato di un indirizzo eMail

Molto spesso capita di dover validare l'input di un utente e molto spesso si deve validare il formato di un indirizzo eMail. Come fare questo con una semplice funzione java?

IL PROBLEMA
Abbiamo un input digitato da un utente, questo input rappresenta un indirizzo eMail e noi lo vogliamo validare.
Si vuole una soluzione espressa in linguaggio java.
 
LA SOLUZIONE
/**
* Funzione per la validazione di un indirizzo e-mail
* @param mail Indirizzo e-mail da validare
* @return TRUE se la mail è stata validata correttamente
*/
public boolean validateMail(String mail)
{
if (mail == null)
{
return false;
}

Pattern p = Pattern.compile(".+@.+\\.[a-z]+", Pattern.CASE_INSENSITIVE);
Matcher m = p.matcher(mail);
boolean matchFound = m.matches();

//Condizioni più restrittive rispetto alle precedenti
String  expressionPlus="^[\\w\\-]([\\.\\w])+[\\w]+@([\\w\\-]+\\.)+[A-Z]{2,4}$";
Pattern pPlus = Pattern.compile(expressionPlus, Pattern.CASE_INSENSITIVE);
Matcher mPlus = pPlus.matcher(mail);
boolean matchFoundPlus = mPlus.matches();
         
return matchFound && matchFoundPlus;   
}
 

RIFERIMENTI

- Una guida ben fatta e in italiano sulle espressioni regolari la trovate qua: Espressioni regolari in Java
- La precedente rappresenta una guida facile e riassuntiva delle principali caratteristiche delle espressioni regolari. La più completa la trovate qua.
- Un utilissimo programma per la validazione di indirizzi email è "Advanced Email Verifier"
 
Buon lavoro!
We use cookies

Utilizziamo i cookie sul nostro sito Web. Alcuni di essi sono essenziali per il funzionamento del sito, mentre altri ci aiutano a migliorare questo sito e l'esperienza dell'utente (cookie di tracciamento). Puoi decidere tu stesso se consentire o meno i cookie. Ti preghiamo di notare che se li rifiuti, potresti non essere in grado di utilizzare tutte le funzionalità del sito.