Нужно создать регулярное выражение для проверки URL.
Мой код:
var regForURL = /((http(s)?):\/\/)?[a-zA-Z\d@:%._\+~#=]{2,}[^-]\.[a-z]{2,}([-a-zA-Z\d@:%_\+.~#?&//=]*)/i;
var wrongURL_0 = 'http://www.domain-.com';
console.log('Is URL correct?\n1)' + regForURL.test(wrongURL_0));
Данный URL должен быть false так как перед точкой стоит тире, но он true.
Оно работает. Просто Парсится немного не так, как Вы ожидаете.
[a-zA-Z\d@:%._\+~#=]{2,} парсит две первые ww
[^-] парсит третью w (все законно).
а дальше есть точка...
К тому же, Ваше выражение может парсить абсолютно невалидные url, например такое http://@@@@@:@:@:@:.domain.com.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости