una length eliminar ejemplo cortar caracteres cadena javascript regex mask phone-number

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



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"/>