Допустим, у меня есть
Примеры:
Я думаю, что мог бы получить число, перебирая исходную строку (символ foreach в '0123456789'), но я не уверен, как я могу затем элегантно собрать это в правильный формат. Может быть, есть функция jQuery, которая это уже делает?
Вот один из способов сделать это:
function formatPhoneNumber(input, format) { // Strip non-numeric characters var digits = input.replace(/\D/g, ''); // Replace each "X" with the next digit var count = 0; return format.replace(/X/g, function() { return digits.charAt(count++); }); }
"abc+d(123)4567890" .replace(/\D/g, "") .replace(/(\d{3})(\d{3})(\d{4})/, "$1 - $2 - $3")
Сначала мы удаляем не-цифры (\ D), затем группируем их и, наконец, используем группы в нашем тексте замены.