X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Проверка на правильность ввода IP-адреса
Cayman
Cayman
Topic Starter сообщение 7.2.2010, 14:25; Ответить: Cayman
Сообщение #1


Господа программисты, подскажите пожалуйста. Имеется форма ввода, с несколькими полями. Есть в ней такое поле, в которое пользователь вводит IP-адрес. Так вот, как можно реализовать проверку на правильность ввода, например, что был введен 172.21.21.1, а не 1722.1.2.321. На сервере это само собой будет проверяться(PHP) но так же нужно чтобы и на стороне клиента. Возможно через регулярные выражения(и есть ли они на яваскрипт?)?
Заранее благодарен.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Letmetouchyou
Letmetouchyou
сообщение 7.2.2010, 15:30; Ответить: Letmetouchyou
Сообщение #2


255.255.255.255
такой же максимальны варинт ввода адреса ?)
маску подсети проверять не надо же ?)

на яваскрипет есть регулярные выражения, только если честно я их не умею составлять.
вот ссылка можешь сам почитать.

в подобных случаях я использовал маски, но тут не подойдет :(
потому что длинна айпи адреса может быть различная)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Cayman
Cayman
Topic Starter сообщение 7.2.2010, 15:54; Ответить: Cayman
Сообщение #3


Маску проверять не надо, да, IP действительно в диапазоне 1.0.0.0-255.255.255.255.
А маски тоже пробовал, но как то неправильно получалось. Точки ставились не в тех местах, где надо...
А за ссылку спасибо, только начал изучать яву, очень полезный сайт))\
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
forest69
forest69
сообщение 7.2.2010, 19:15; Ответить: forest69
Сообщение #4


Вот...
Только, если будет введен IP типа - 192.192.01.01, он окажется правильным.


Javascript код
<script type="text/javascript">
var tested_ip = /\b(([01]?\d?\d|2[0-4]\d|25[0-5])\.){3}([01]?\d?\d|2[0-4]\d|25[0-5])\b/; <!--Создаем регулярное выражение-->

function check ()
{
get_ip = document.getElementById('get_ip').value;<!--объявляем переменную -->
if (get_ip.search(tested_ip) == -1){
alert('Вы ввели некорректный ip');
} else {
alert('Вы ввели корректный ip');
}
}
</script>


Вот форма
<input type="text" id="get_ip" value="0" maxlength="15"/>
<input name="" value="Проверить" type="button" onClick="check()" />
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Cayman
Cayman
Topic Starter сообщение 7.2.2010, 19:23; Ответить: Cayman
Сообщение #5


Спасибо, как им пользоваться, я понял, а вот составить его, небольшая проблемка. Так как диапазоны цифр у адресов 1-255, а если использовать просто /d то, если не ошибаюсь, 555.1.1.1 тоже будет правильным ответом, или я ошибаюсь?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Cayman
Cayman
Topic Starter сообщение 7.2.2010, 19:25; Ответить: Cayman
Сообщение #6


Премного благодарен вам!!!!!!!:evrika::goodpost:
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
forest69
forest69
сообщение 7.2.2010, 19:38; Ответить: forest69
Сообщение #7


(Cayman @ 7.2.2010, 21:23) *
Спасибо, как им пользоваться, я понял, а вот составить его, небольшая проблемка. Так как диапазоны цифр у адресов 1-255, а если использовать просто /d то, если не ошибаюсь, 555.1.1.1 тоже будет правильным ответом, или я ошибаюсь?


Да не за что
Ну да, \d это любая цифра от 0 до 9

а еще есть хорошая прога для проверки выражений
Tester
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Cayman
Cayman
Topic Starter сообщение 7.2.2010, 19:49; Ответить: Cayman
Сообщение #8


И еще один небольшой вопрос. А как сделать так, чтобы при пустом поле ввода ip-адреса, проверка тоже считалась успешной, как будто бы был введен правильный адрес?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
forest69
forest69
сообщение 7.2.2010, 20:02; Ответить: forest69
Сообщение #9


var tested_ip = /\b(([01]?\d?\d|2[0-4]\d|25[0-5])\.){3}([01]?\d?\d|2[0-4]\d|25[0-5])\b/; <!--Создаем регулярное выражение-->
function check ()
{
get_ip = document.getElementById('get_ip').value;<!--объявляем переменную -->
if (get_ip.search(tested_ip) == 0 || get_ip == ''){
alert('Вы ввели корректный ip');
} else {
alert('Вы ввели некорректный ip');
}
}
</script>
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Cayman
Cayman
Topic Starter сообщение 7.2.2010, 20:09; Ответить: Cayman
Сообщение #10


Вот идиот я, почему сам то не догадался....!!!)) Еще раз благодарю))
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Проверка позиций сайтов в поисковых системах с помощью Positon.ru
Мониторинг продвижения сайтов
183 Positon 179469 12.4.2024, 8:32
автор: Positon
Горячая тема (нет новых ответов) Superobmen.biz - сервис ручного ввода и вывода Приват24 (грн) <--> WM, ЯД, QIWI
удобство, низкие комиссии, скидки постоянным клиентам!
52 Sostavitel 38710 10.2.2023, 1:04
автор: Sostavitel
Открытая тема (нет новых ответов) Сервис ввода, вывода электронных денег | Tochkaobmena.com
Сервис ввода, вывода электронных денег
11 tochkaobmena 6497 1.2.2021, 12:33
автор: tochkaobmena
Открытая тема (нет новых ответов) Продам базу контактов Номера,емейлы, дата рождения, ФИО и даже адреса
8 Samael91 3762 14.4.2019, 15:54
автор: -XaranyakA-
Открытая тема (нет новых ответов) Проверка качества прогона по трастовым сайтам, профилям, каталогам
0 bestweb20_mw 1401 21.12.2017, 18:36
автор: bestweb20_mw


 



RSS Текстовая версия Сейчас: 19.4.2024, 10:17
Дизайн