3 / 3 / 1
Регистрация: 22.10.2014
Сообщений: 106
1

Запрос на корректность ip адреса

14.06.2017, 10:12. Показов 2708. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите, пожалуйста, написать запрос, который отсеивает некорректные ip адреса в текстовом поле,а именно 2 условия:
1. должно быть 3 точки. Тут понятно, сложностей не вызывает
2. Значения между точками должно быть от 0 до 255, а вот как быть с этим условием? желательно, чтоб не писать свою функцию, обойтись без pl части.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.06.2017, 10:12
Ответы с готовыми решениями:

Проверка e-mail адреса на корректность
Подскажите название метод проверки e-mail адреса на корректность. Типа наличие символов @ . и т.д,...

Функция для проверки ip адреса на корректность
всем привет. Я тут новенький и вообще новачок в программировании. Не могли бы вы мне помочь с...

Проверка на корректность введенного e-mail адреса
Доброго времени суток! Написал программу связанную из http-запросов, но не могу написать проверку...

Проверка введенного url адреса на корректность
Здравствуйте, требуется ваша помощь не могли бы подсказать как организовать проверку введенного...

4
Модератор
4215 / 3056 / 583
Регистрация: 21.01.2011
Сообщений: 13,205
14.06.2017, 10:21 2
Цитата Сообщение от osetr Посмотреть сообщение
Значения между точками должно быть от 0 до 255, а вот как быть с этим условием
Кто мешает с пом. INSTR / SUBSTR выделить каждую часть и проверить на диапазон? Другое дело, что с пом. своей функции SELECT будет короче, но...
0
93 / 71 / 33
Регистрация: 02.08.2015
Сообщений: 202
14.06.2017, 16:39 3
Здравствуйте!
Может быть Вам это поможет:

SQL
1
2
3
4
SELECT 'Ok'
FROM dual
WHERE REGEXP_LIKE('127.0.0.1', '[0-9]{1,3}(\.)[0-9]{1,3}(\.)[0-9]{1,3}(\.)[0-9]{1,3}')
;
Но, я бы, честно говоря, проверял корректность ввода данных средствами приложения. Там же бы делал обработку ошибки. А в базу отправлял бы запрос записи/выборки. Так как в базе удобнее хранить IP-адреса числами (а не октетами и не строками).
0
3 / 3 / 1
Регистрация: 22.10.2014
Сообщений: 106
15.06.2017, 11:33  [ТС] 4
Ну с этим вроде разобрался. Теперь аналогично нужно сделать с mac адресом, то есть пропускать только те значения, где длина 12 символов и только цифры и английские буквы, чтоб не было всех остальных символов.
Пока сделал так:
SQL
1
 WHERE regexp_instr('31232,1','[[:punct:]]') = 0
Но это конечно же не полная проверка. Как оставить только цифры и английские буквы?
0
93 / 71 / 33
Регистрация: 02.08.2015
Сообщений: 202
15.06.2017, 19:44 5
Вот это Вам нужно?

SQL
1
2
3
4
SELECT 'Ok'
FROM dual
WHERE REGEXP_LIKE('10:C3:7B:4B:A5:1C', '([[:alnum:]]{2})([-:]?)([[:alnum:]]{2})([-:]?)([[:alnum:]]{2})([-:]?)([[:alnum:]]{2})([-:]?)([[:alnum:]]{2})([-:]?)([[:alnum:]]{2})')
;
0
15.06.2017, 19:44
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.06.2017, 19:44
Помогаю со студенческими работами здесь

Нужно проверить на корректность ввода E-mail адреса
Допустим пользователь вводит _____@___.___ Как мы можем проверить эти три ↑ ..... ...

Как на мобильном клиенте проверить корректность введенного адреса эл. почты?
Как на мобильном клиенте проверить корректность введенного адреса эл. почты?

ICMP, запрос маски адреса
Доброго времени суток. Столкнулся с проблемой создания icmp запроса маски адреса. Вычитал что это...

Пентестинг. Многократная подмена MAC адреса и запрос на маршрутизатор/коммутатор
Всех приветствую. В общем увлекаюсь пентестингом (в целях совершенствования своих знаний в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru