length - Enmascare el número de teléfono de EE. UU. Con cadena JavaScript
substr javascript (4)
Puede usar mi paquete https://github.com/jsonmaur/coverup , que puede enmascarar la cadena en desenfoque y mantener los símbolos en la cadena.
Necesito el formato Express para el número de teléfono de EE. UU.. Deseo reemplazar el número de teléfono en el formato de cadena de número de teléfono de EE. UU. En JavaScript.
var number = "4031234789";
Y quiero enmascararlo en el siguiente formato:
number = number.mask(''(000) 000-0000'');
¿Alguien puede mostrarme una expresión regular para eso en JavaScript?
Puede usar expresiones regulares y luego concatenar para formar su cadena.
var USNumber = "4031234789".match(/(/d{3})(/d{3})(/d{4})/);<br/>
USNumber = "(" + USNumber[1] + ") " + USNumber[2] + "-" + USNumber[3];
Use los complementos de enmascaramiento del número de teléfono para eso.
Compruebe los siguientes complementos:
Esta respuesta supone que desea el siguiente formato: (000) 000-0000
(como indica el OP).
Hay varias formas diferentes de implementar esto, pero aquí hay un par de enfoques diferentes:
Si simplemente desea enmascarar el número en el evento de blur
(cuando el campo pierde el focus
), puede usar lo siguiente:
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];
});
<p>Masked on the blur event (remove focus).</p>
<input type="text" id="phone" placeholder="(555) 555-5555"/>
Alternativamente, si prefiere enmascarar el número mientras escribe, puede escuchar el evento de input
y luego enmascarar condicionalmente el número en función de la coincidencia de expresiones regulares:
document.getElementById(''phone'').addEventListener(''input'', function (e) {
var x = e.target.value.replace(//D/g, '''').match(/(/d{0,3})(/d{0,3})(/d{0,4})/);
e.target.value = !x[2] ? x[1] : ''('' + x[1] + '') '' + x[2] + (x[3] ? ''-'' + x[3] : '''');
});
<input type="text" id="phone" placeholder="(555) 555-5555"/>