Мне нужно проверить формат телефонного номера.
+33xxxxxxxxx
0033xxxxxxxxx
РЕДАКТИРОВАТЬ : 0xxxxxxxxx
0xxxxxxxxx
Как я могу сделать это с (без) регулярное выражение?
регулярное выражение, чтобы соответствовать этому было бы это
(0033|\+33|0)?\d{9}
Я использую http://regexpal.com/ для быстрого тестирования регулярных выражений
PhoneFormat.com имеет библиотеку javascript, в которой есть некоторые функции форматирования, которые вы можете легко добавить в свой проект. Он возьмет любое число, которое вы набросите, и попытается преобразовать его в e164 (+ 33252525252), а также отформатировать (+33 2 52 52 52 52)
Попробуйте это регулярное выражение: /^((\+|00)\d{2})?\d{9}$/
/^((\+|00)\d{2})?\d{9}$/
Это соответствует каждому из указанных случаев (+YYXXXXXXXXX, 00YYXXXXXXXXX, XXXXXXXXX).
+YYXXXXXXXXX
00YYXXXXXXXXX
XXXXXXXXX
Редактировать: В соответствии с вашими правками: /^((\+|00)\d{2}|0)\d{9}$/
/^((\+|00)\d{2}|0)\d{9}$/
if (/^(?:(?:\+|00)33|0)\d{9}$/.test(subject)) { // Successful match } else { // Match attempt failed }
Это регулярное выражение, которое проверяет ваши примеры:
/(\+|(00)|0)[0-9]{11}/.test(stringToTest)