Маска номер телефона США с JavaScript
Мне нужен обычный экспресс для формата номера телефона США. Я хочу заменить строку номера телефона на формат строки номера телефона США в JavaScript.
var number = "4031234789";
И я хочу замаскировать его в следующем формате: -
number = number.mask('(000) 000-0000');
Может ли кто-нибудь показать мне регулярное выражение для этого в JavaScript?
Ответы
Ответ 1
Этот ответ предполагает, что вы хотите следующий формат: (000) 000-0000
(как указано в OP).
Существует несколько различных способов реализации этого, но здесь есть несколько разных подходов:
Если вы хотите просто замаскировать номер в событии blur
(когда поле теряет focus
), вы можете использовать следующее:
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"/>
Ответ 2
Вы можете использовать регулярное выражение и затем конкатенировать, чтобы сформировать свою строку.
var USNumber = "4031234789".match(/(\d{3})(\d{3})(\d{4})/);<br/>
USNumber = "(" + USNumber[1] + ") " + USNumber[2] + "-" + USNumber[3];
Ответ 3
Используйте для этого плагины маскировки номера телефона.
Проверьте следующие плагины:
Ответ 4
Вы можете использовать мой пакет https://github.com/jsonmaur/coverup, который может замаскировать строку при размытии и сохранить символы в строке.