JS Регулярное выражение - проверка URL

161
31 августа 2018, 04:30

Задача следующая - нужно составить регулярное выражение, которое проверит URL, и если оно имеет формат https://vk.com/[0-9A-z._] , но НЕ https://vk.com/album[0-9] выдать нужный результат.

var value = document.getElementById('name').value;
var regex = /^https:\/\/vk.com\/^album\d(\d\w){1,100}+$/;
 if( regex.test(value) )
    alert('ok');
else
    alert('fail');

не работает. подскажите, что делаю не правильно?

Answer 1

Используйте

/^https:\/\/vk\.com\/(?!album-?\d)[^\/]*$/

См. демо регулярного выражения

Подробности

  • ^ - начало строки
  • https:\/\/vk\.com\/ - подстрока https://vk.com/
  • (?!album-?\d) - сразу после текущей позиции в строке не должно быть подстрок типа album-1 или album1
  • [^\/]* - 0 и более любых символов, отличных от /
  • $ - конец строки.
Answer 2
/^https:\/\/vk\.com\/(?!album-?\d+$)[\w.]+$/
READ ALSO
[Vue warn]: Проблема с рекурсивным компонентом

[Vue warn]: Проблема с рекурсивным компонентом

[Vue warn]: Unknown custom element: <MyTreeList> - did you register the component correctly? For recursive components, make sure to provide the "name" option

175
Удаление EventListener после его вызова

Удаление EventListener после его вызова

Создать сообщение - работаетУдалить сообщение - не работает

170
Улучшить код крестиков-ноликов

Улучшить код крестиков-ноликов

Решил втянуться в ООП, написал простейшие крестики-нолики, но с отсутствием опыта в этой области не знаю, что сделал не так, и как это улучшитьНадеюсь...

157