@DJDiM

Как упростить формат ввода номера телефона в php?

Помогите, пожалуйста, поправить код php, сам не умею.
На самописном сайте надо вводить свой номер телефона. В нужном поле ограничение по формату ввода номеров телефона только на РФ номера. Надо сделать, чтобы можно было ввдить любые номера любой длины, только с проверкой формата +1234....
Нашёл в файлах профиля и регистрации такой код:
if($v['id_num_ru'] == '' || !preg_match("/^\+7[0-9]{10}$/i",$v['id_num_ru'])) $e[] = $lang->getstr('_profile_error11');

Правильно ли я понимаю, что мне надо заменить
+7[0-9]{10}
на
+[0-9]
?
  • Вопрос задан
  • 226 просмотров
Решения вопроса 2
@qid00000000
Мало что знаю, но информацию найду в гугле
Телефонный номер, это набор цифр, вы можете составить такую регулярку:

"[0-9]{4,134}"

4 - минимальная длинна цифр (номера 911 и пр. вам нет смысла принимать)
134 - максимальная длинна, которая вам нужна

Эту же задачу, можно решить так:
"\d{4,134}"
"[0-9]+" от 1 символа

Если прям запариться, то нужно учесть все форматы вводимых данных, от этого регулярка станет сложнее.
Ответ написан
Комментировать
@d-sem
\+[0-9]{минимальная длина, максимальная длина}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Stalker_RED
@Stalker_RED
Регулярка +[0-9]пропустит плюс, и любую одну цифру.

+\d{10,15} - потребует плюс, и от десяти до пятнадцати цифр, как в международном стандарте.
существует рекомендация ITU-T под номером E.164, определяющая общий международный телекоммуникационный план нумерации, используемый в телефонных сетях общего пользования и некоторых других сетях. Согласно E.164 номера могут иметь максимум 15 цифр и обычно записываются с префиксом «+».
wiki

Следует учитывать, что организации и жилые комплексы могут иметь собственную АТС и могут выдавать сотрудникам/жителям добавочные номера.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы