2014-03-28 3 views
-2

У меня есть ряд как нижеНомер формата с использованием RegExp в JavaScript

var number = '12345678904444' 

и я хочу, как этот

(123) 456-7890x4444 

Format is (###) ###-####x####. 

Как я могу добиться этого.

+0

Что вы хотите, чтобы захватить несколько групп известных длин цифр, но вы, кажется, не имеют на самом деле пытались что-нибудь. Сделайте поиск Google для регулярных выражений в Javascript. – Barney

+2

На самом деле это не то, что я бы использовал RegExp для tbh –

+0

Я искал его в google. Но у меня нет идеи. Как я могу это достичь. – Muthu

ответ

2

Для чего это стоит, это то, что решение RegExp будет выглядеть ;-)

number.replace(/^(\d{3})(\d{3})(\d{4})(\d{4})$/, '($1) $2-$3x$4.'); 
0

Вы можете использовать яваскрипт метод разделения строки:

var number = '12345678904444'; 
var numbers_array = numbers.split(""); 

Затем вы можете использовать массив номера для создания новой строки в соответствии с желаемым форматом.

Я уверен, что вы можете это сделать!

0

Если вы хотите отформатировать номер в Javascript, лучше всего использовать String.slice(), чтобы извлечь нужные вам номера, а затем свяжитесь с ними, используя +.

НЕ ИСПОЛЬЗУЙТЕ REGEX ДЛЯ ЭТОГО !! Если ваша строка в этом случае имеет ошибку и не может быть правильно проанализирована, вы рискуете привести к катастрофическому обратному отскоку, где ваша обработка длится действительно, очень долго.

0

Я предпочел бы это:

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 
Смежные вопросы