2017-02-19 5 views
1

Я ищу способ переформатировать номер телефона для отображения в Javascript. Вот пример некоторых из данных:Форматирование строки в определенном формате

00-22 345 991

12450-123948

Я хочу, чтобы переформатировать номер в следующем формате 3 длины, как: 555-922-134

Предполагая, что штрихи и пробелы можно игнорировать, а последние два блока могут быть длиной 2: 002-234-59-91 или 124-501-349-48

ответ

3

Вы можете использовать регулярное выражение с lookahead.

Positive Lookahead ищет шаблон после знака равенства, но не включает его в игру.

х (? = У)

Совпадает с 'х', только если 'х' следует 'у'. Это называется взглядом.

Например, /Jack(?=Sprat)/ подходит к «Джеку», только если за ним следует «Справа». /Jack(?=Sprat|Frost)/ Матч «Джек», только если за ним следуют «Справа» или «Мороз». Однако ни «Спрат», ни «Мороз» не являются частью результатов матча.

function format(s) { 
 
    return s.toString().replace(/\D/g, '').replace(/\d{2,3}(?=..)/g, '$&-'); 
 
} 
 

 
console.log(format('00-22 345 991')); 
 
console.log(format('555922134')); 
 
console.log(format('12450-123948')); 
 
console.log(format(123456789)); 
 
console.log(format(12345678901)); 
 
console.log(format(1234567));

0

Добрый вечер! :)

Это была ответила в предыдущей ветке. :)

Insert hyphens in javascript

Надеется, что это помогает из - спокойную ночь :)

Смежные вопросы