JavaScript: validare il numero di telefono di un'utenza domestica

Short link

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


L'autore

Gabriele Romanato, sviluppatore web full stack specializzato in siti, applicativi web ed e-commerce con Node.js e PHP.