Con JavaScript possiamo validare un numero di telefono fisso italiano.
La validazione dei numeri di telefono è vincolata al ruolo del numero di telefono all'interno del servizio che stiamo offrendo. Se ad esempio l'assistenza all'utente finale viene fornita telefonicamente, è nell'interesse dell'utente fornire un numero valido e funzionante. Di conseguenza la validazione effettivamente ha il solo scopo di evitare problemi di sicurezza dovuti ad input inprevisto.
Per l'Italia il formato standard è 0indicativo-distrettuale numero utente. La lunghezza massima del numero utente varia a seconda della lunghezza dell'indicativo distrettuale (da 1 a 3 cifre). Lo 0 viene ignorato allo scopo della validazione del numero utente ma è significativo per la validazione iniziale con le espressioni regolari.
'use strict';
const isValidHomePhoneIt = str => {
if(!/^0\d{1,3}\s\d+$/.test(str)) {
return false;
}
let parts = str.split(/\s/);
let pref = parts[0].substring(1);
let digits = parts[1];
let valid = true;
switch(pref.length) {
case 1:
if(digits.length > 8) {
valid = false;
}
break;
case 2:
if(digits.length > 7) {
valid = false;
}
break;
case 3:
if(digits.length > 6) {
valid = false;
}
break;
default:
break;
}
return valid;
};