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;
}
* 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!