2015-10-21 3 views
0

Я пытаюсь взять только 2 символа с телефона. Я использовал регулярное выражение ^\+55, и это вернет следующий пример.Регулярное извлечение двух цифр с номера телефона

Телефон No: +5546342543

Результат: 46342543

Ожидаемый результат был только 46.

Я не хочу использовать подстроку для ответа, вместо этого хочу извлечь это из телефона без регулярного выражения.

Может ли кто-нибудь помочь мне в этом. Спасибо.

+0

Почему с регулярным выражением, когда его легко решить с помощью подстроки? – Danmoreng

+1

Каковы точные требования? Получите два символа после '+ 55' в начале? Или 2 числа после '+ 55'? –

+0

Строковые операции быстрее, чем регулярное выражение в большинстве случаев ... и у вас простая строка. Почему вы используете регулярное выражение для подстроки? – Onilol

ответ

1

Узор вы использовали - ^\+55 - буквальному + в начале строки и два 5 сек сразу после.

46 - подстрока, которая появляется сразу после начального +55. На некоторых языках вы можете использовать look-behind (см. example), чтобы сопоставить текст, предшествующий другому.

JavaScript не имеет поддержки позади, поэтому вам необходимо обратиться к capturing groups.

Вы можете использовать string#match или RegExp#exec получить, что захваченный текст отмеченную с круглыми скобками:

var s = '+5546342543'; 
 
if ((m=/^\+55(\d{2})/.exec(s)) !== null) { 
 
    document.write(m[1]); 
 
    }

Этот пример обрабатывает случай, когда вы не получите ни одного совпадения.

+1

спасибо stribizhev !! Меня устраивает – Prabhakaran

1

Просто попробуйте:

'+5546342543'.match(/^\+55(\d{2})/)[1]; 
+0

@Prabhakaran Если вы найдете мой ответ полезным, не забудьте принять его. – hsz

0

Это позволит получить то, что вы хотите

"+5546342543".match(/^\+55(.*)/)[1] 
0

Это решает проблему?

phoneNumber = "+5546342543" 
phone = phoneNumber.substr(3) // returns "46342543" 
twoDigits = phoneNumber.substr(3,2) // returns "46" 

Используя метод substr() цит:

Метод substr() возвращает символы в строке, начиная с указанного места через указанное количество символов.

Синтаксис: str.substr(start[, length])

Источник: Mozilla MDN

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