Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.06.2018, 23:30
Аспирант
Отправить личное сообщение для mortido Посмотреть профиль Найти все сообщения от mortido
 
Регистрация: 29.09.2014
Сообщений: 83

регулярное вырежние
Всем привет. Никак не могу придумать регулярное выражение для проверки диапозонов ip адресов в таком виде 31.173.80.0 - 31.173.87.255. Регулярное выражение должно именно проверять формат. То есть, 4 числа, каждое заканчивается точкой, кроме последнего, затем тире, и тоже самое. Как такое сделать?
Ответить с цитированием
  #2 (permalink)  
Старый 04.06.2018, 23:43
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,584

/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}-\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/
__________________
29375, 35
Ответить с цитированием
  #3 (permalink)  
Старый 04.06.2018, 23:48
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

mortido,
var reg = /\b(([01]?\d?\d|2[0-4]\d|25[0-5])\.){3}([01]?\d?\d|2[0-4]\d|25[0-5])(\s*\-\s*)(([01]?\d?\d|2[0-4]\d|25[0-5])\.){3}([01]?\d?\d|2[0-4]\d|25[0-5])\b/;
var str = "31.173.80.0 - 31.173.87.255"
alert(reg.test(str));//true
str = "31.17300.80.0 - 31.173.87.255"
alert(reg.test(str));//false


RegExp for matching Decimal IP
Ответить с цитированием
  #4 (permalink)  
Старый 05.06.2018, 11:26
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 1,012

взял регекс рони и ради интереса попробовал максимально сократить
var reg = /^\b((\b|\s*-\s*)\b((\b|\.)([01]?\d?\d|2[0-4]\d|25[0-5])){4}){2}$/;
reg.test(str);


это для проверки, что текст содержит только диапазон ip адресов.
если же текст содержит что-то ещё и надо выловить диапазон, то убрать ^ и $
Ответить с цитированием
  #5 (permalink)  
Старый 05.06.2018, 11:31
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Alexandroppolus,
неплохо ) на кодварсах кода решаешь регулярки обязательно кто-то прям в минимум символов уложился, даж все аргументы до одного символа сократил.
Ответить с цитированием
  #6 (permalink)  
Старый 05.06.2018, 11:36
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 1,012

j0hnik,
тут главное слишком не увлекаться, а то можно написать очень хреновый регекс
Ответить с цитированием
  #7 (permalink)  
Старый 05.06.2018, 17:22
Аспирант
Отправить личное сообщение для mortido Посмотреть профиль Найти все сообщения от mortido
 
Регистрация: 29.09.2014
Сообщений: 83

Спасибо, работает.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Регулярное выражение Medvedoc Firefox/Mozilla 2 08.11.2017 17:42
регулярное выражение Ramundo Общие вопросы Javascript 2 14.05.2015 08:58
Регулярное выражение tata4ka Общие вопросы Javascript 4 15.11.2014 00:56
Регулярное выражение и метод test tsigel Общие вопросы Javascript 3 30.08.2013 13:47
регулярное выражение theo_ Общие вопросы Javascript 15 21.06.2010 10:29