Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.04.2023, 08:26
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 770

Проверка по маске
Привет. Нужна помощь по регулярке. У меня есть location.pathname и мне надо сравнить его с маской такого вида
news/* или news/sub/* и тп. То есть если последний символ *, значит вместо неё могут быть [a-z], _,[0-9],.,-. Как это сказать системе?
Ответить с цитированием
  #2 (permalink)  
Старый 04.04.2023, 09:20
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

ureech,
let reg = /news\/(sub\/)?[-a-z.0-9_]/;
let arr = ['news/-', 'news/sub/_','news/.','news/?'].map(e => reg.test(e));
alert(arr);
Ответить с цитированием
  #3 (permalink)  
Старый 04.04.2023, 09:28
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,743

Сообщение от ureech
[a-z], _,[0-9],.,-
Только один символ или последовательность?
Для последовательности так
/^news\/(sub\/)?[a-z_0-9.\-]+$/
Ответить с цитированием
  #4 (permalink)  
Старый 04.04.2023, 09:34
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 770

Нет. Изначальная строка не такая /news\/(sub\/)?[-a-z.0-9_]/, а такая [a-z]/* и нужно сказать, что #\*# это [-a-z.0-9_]
Ответить с цитированием
  #5 (permalink)  
Старый 04.04.2023, 09:38
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 770

И да * это последовательность [-a-z.0-9_]
Ответить с цитированием
  #6 (permalink)  
Старый 04.04.2023, 09:44
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 770

То есть маска такая news/*.
location.pathname = 'news/sub/index.html' или 'news/sub/' или ...
И нужно что бы при сравнении'news/*' == location.pathname
Ответить с цитированием
  #7 (permalink)  
Старый 04.04.2023, 09:49
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

ureech,
слишком много слов, не осилил)))
Ответить с цитированием
  #8 (permalink)  
Старый 04.04.2023, 09:52
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 770

Сообщение от рони Посмотреть сообщение
ureech,
слишком много слов, не осилил)))
Ответить с цитированием
  #9 (permalink)  
Старый 04.04.2023, 09:53
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 770

Мне нужна регулярка, которая скажет, что

'#\*#' == '#[a-z_0-9.\-]+#';

Последний раз редактировалось ureech, 04.04.2023 в 09:56.
Ответить с цитированием
  #10 (permalink)  
Старый 04.04.2023, 10:01
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

ureech,
не понимаю, всё что мог, написал выше.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дополнительная проверка в маске телефона на семерку TrueLie Общие вопросы Javascript 3 07.02.2020 18:21
Проверка на существование элемента в реальном времени js dkmrus Общие вопросы Javascript 7 03.05.2016 22:12
проверка формы не работает в ie begelme Javascript под браузер 6 13.08.2013 01:00
Проверка данных формы составным условием? myafa Элементы интерфейса 8 01.04.2011 08:30
Проверка полей отправляемой формы. denisOgr jQuery 6 18.10.2010 19:40