Ответ 1
Удалите |www\.
?
^(http:\/\/www\.|https:\/\/www\.|http:\/\/|https:\/\/)[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$
Как это работает
У меня есть поле ввода для ввода URL-адреса веб-сайта, и я хочу проверить его, и если URL-адрес в порядке, я дам поле ввода классу ( "validated_ok" ) и удалю класс ( "cf_required" ), и если его неправильно, наоборот.
Проблема
URL-адрес должен быть прав, если он написан с помощью http://
, но на самом деле он также прав только с www
(www.google.ch
). Как мне изменить регулярное выражение?
Javascript
// CHECK WEBSITE
$(".cf_required[name='website']").focusout(function() {
var myVariable = $(this).val();
if(/^(http:\/\/www\.|https:\/\/www\.|http:\/\/|https:\/\/|www\.)[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$/.test(myVariable)){
$(this).addClass("validated_ok").removeClass("cf_required")
} else {
$(this).removeClass("validated_ok").addClass("cf_required");
}
});
Удалите |www\.
?
^(http:\/\/www\.|https:\/\/www\.|http:\/\/|https:\/\/)[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$
просто измените ваше регулярное выражение, чтобы сделать http (s) обязательным
/^http(s)?:\/\/(www\.)?[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$/.test('www.google.com')
Это будет работать:
(?<Protocol>\w+):\/\/(?<Domain>[\[email protected]][\w.:@]+)\/?[\w\.?=%&=\[email protected]/$,]*
Надеюсь, это поможет вам.
Более короткий путь:
(\w*\W*)?\w*(\.(\w)+)+(\W\d+)?(\/\w*(\W*\w)*)*
Вы можете протестировать его в этом замечательном редакторе регулярных выражений: https://regex101.com/
^http(s?):\/\/(www\.)?(((\w+(([\.\-]{1}([a-z]{2,})+)+)(\/[a-zA-Z0-9\_\=\?\&\.\#\-\W]*)*$)|(\w+((\.([a-z]{2,})+)+)(\:[0-9]{1,5}(\/[a-zA-Z0-9\_\=\?\&\.\#\-\W]*)*$)))|(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}(([0-9]|([1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]+)+)(\/[a-zA-Z0-9\_\=\?\&\.\#\-\W]*)*)((\:[0-9]{1,5}(\/[a-zA-Z0-9\_\=\?\&\.\#\-\W]*)*$)*))$
In this http is mandatory and it can take port and sub resources also.
e.g http://example.com
https://example.qwerty.com/id
https://example.com:8989
http://example.qwerty.com:8989/id
https://10.1.1.1/id
https://10.1.1.1:9090/id