Maschera la stringa del numero di telefono degli Stati Uniti con JavaScript

Ho bisogno di un express regolare per il formato numero di telefono degli Stati Uniti. Voglio sostituire la stringa del numero di telefono in formato di stringa numero di telefono USA sotto in JavaScript.

var number = "4031234789"; 

E voglio mascherarlo nel formato seguente: –

 number = number.mask('(000) 000-0000'); 

Qualcuno può mostrarmi un’espressione regolare per quello in JavaScript?

Questa risposta presuppone che si desideri il seguente formato: (000) 000-0000 (come indica l’OP).

Esistono diversi modi per implementarlo, ma qui ci sono un paio di approcci diversi:


Se vuoi semplicemente mascherare il numero sull’evento blur (quando il campo perde lo stato focus ), puoi utilizzare quanto segue:

 document.getElementById('phone').addEventListener('blur', function (e) { var x = e.target.value.replace(/\D/g, '').match(/(\d{3})(\d{3})(\d{4})/); e.target.value = '(' + x[1] + ') ' + x[2] + '-' + x[3]; }); 
 

Masked on the blur event (remove focus).

È ansible utilizzare l’espressione regolare e quindi concatenare per formare la stringa.

 var USNumber = "4031234789".match(/(\d{3})(\d{3})(\d{4})/);
USNumber = "(" + USNumber[1] + ") " + USNumber[2] + "-" + USNumber[3];

Usa i plugin di mascheramento del numero di telefono per quello.

Controlla i seguenti plugin:

È ansible utilizzare il mio pacchetto https://github.com/jsonmaur/coverup , che può mascherare la stringa di input onblur e mantenere i simboli nella stringa.