Java e la validazione di un numero telefonico

document_java

Java e la validazione di un numero di telefono

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

 
IL PROBLEMA
Abbiamo un input digitato da un utente, questo input rappresenta un numero di telefono e noi lo vogliamo validare.
Si vuole una soluzione espressa in linguaggio java.
 
 
LA SOLUZIONE
/**
* Questa funzione valida numeri di telefono nel seguente formato:
* - Almeno una cifra numerica 0-9
* - Può o no esserci una + iniziale
* - I numeri possono essere separati da spazi bianchi in numero e formato qualsiasi
*
* @param number Il Numero di telefono/fax da validare
* @return Restituisce TRUE se il numero è stato validato correttamente
*/
public boolean validateTelFaxNumber(String number)
{           
if (number == null)
{
return false;
}

String patternSpace = "\\s+";
String replaceStr = "";
Pattern pattern = Pattern.compile(patternSpace);
Matcher matcher = pattern.matcher(number);
number = matcher.replaceAll(replaceStr);

patternSpace = "\\-+";
replaceStr = "";
pattern = Pattern.compile(patternSpace);
matcher = pattern.matcher(number);
number = matcher.replaceAll(replaceStr);   

//i caratteri / non vengono presi in considerazione
patternSpace = "\\/+";
replaceStr = "";
pattern = Pattern.compile(patternSpace);
matcher = pattern.matcher(number);
number = matcher.replaceAll(replaceStr);

Pattern p = Pattern.compile("^(\\+)?[0-9]+$");
Matcher m = p.matcher(number);
boolean matchFound = m.matches();
return matchFound;
}


 
Questa funzione serve solo a validare un numero di telefono / fax e non a formattarlo. La formattazione rimane quella data dall'utente. I caratteri SPAZIO BIANCO, MENO e '/' vengono eliminati prima della vera e propria validazione.

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.
 
Buon lavoro!