У меня есть ряд как нижеНомер формата с использованием RegExp в JavaScript
var number = '12345678904444'
и я хочу, как этот
(123) 456-7890x4444
Format is (###) ###-####x####.
Как я могу добиться этого.
У меня есть ряд как нижеНомер формата с использованием RegExp в JavaScript
var number = '12345678904444'
и я хочу, как этот
(123) 456-7890x4444
Format is (###) ###-####x####.
Как я могу добиться этого.
Для чего это стоит, это то, что решение RegExp будет выглядеть ;-)
number.replace(/^(\d{3})(\d{3})(\d{4})(\d{4})$/, '($1) $2-$3x$4.');
Вы можете использовать яваскрипт метод разделения строки:
var number = '12345678904444';
var numbers_array = numbers.split("");
Затем вы можете использовать массив номера для создания новой строки в соответствии с желаемым форматом.
Я уверен, что вы можете это сделать!
Если вы хотите отформатировать номер в Javascript, лучше всего использовать String.slice()
, чтобы извлечь нужные вам номера, а затем свяжитесь с ними, используя +
.
НЕ ИСПОЛЬЗУЙТЕ REGEX ДЛЯ ЭТОГО !! Если ваша строка в этом случае имеет ошибку и не может быть правильно проанализирована, вы рискуете привести к катастрофическому обратному отскоку, где ваша обработка длится действительно, очень долго.
Я предпочел бы это:
var num = '1234567890x4444';
var first = num.substr(0,3), second = num.substr(3,3), last = num.substr(6);
var formatted = '('+first+') ' + second + '-'+ last;
Результат:
console.log(formatted); // (123) 456-7890x4444
Что вы хотите, чтобы захватить несколько групп известных длин цифр, но вы, кажется, не имеют на самом деле пытались что-нибудь. Сделайте поиск Google для регулярных выражений в Javascript. – Barney
На самом деле это не то, что я бы использовал RegExp для tbh –
Я искал его в google. Но у меня нет идеи. Как я могу это достичь. – Muthu