@veteralex

Как найти искомый номер телефона?

Здравствуйте!
Есть в базе телефонные номера вида +375 (17) 111-11-11
На сайте есть форма поиска по телефону. Надо найти искомый номер телефона.
Думал сделать через регулярные выражения. Введенный телефон преобразовать в строку чисел.
А дальше как-то через выражение найти искомый номер.
Спасибо.

P.S. Т.е. мне надо, чтобы человек мог ввести допустим 17 11 или 1711111 и найти все варианты совпадения, а вот 1112 не должен найти
  • Вопрос задан
  • 64 просмотра
Пригласить эксперта
Ответы на вопрос 2
Fernus
@Fernus
Техник - Механик :)
Есть в базе телефонные номера вида +375 (17) 111-11-11

База на чём сделана? MySQL ? Какая версия?
Если 8 версия, то примерно так можно...

SELECT * 
FROM test 
WHERE REGEXP_REPLACE(phone, '[^0-9]', '') LIKE '%1711111%';
Ответ написан
@PavelMos
Преобразовать это в цифры = убрать все нецифры. Это делается заменой (substitution) по регекспу
\D на пустое место ''
Пример
https://regex101.com/r/Ztktdy/1
Но набирать такое длинное число будет имхо не очень удобно.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы