, url (, ) (, http://www.-example-.com www.% @&.com). URL ( ).
function isUrlValid(userInput) {
var regexQuery = "^(https?://)?(www\\.)?([-a-z0-9]{1,63}\\.)*?[a-z0-9][-a-z0-9]{0,61}[a-z0-9]\\.[a-z]{2,6}(/[-\\w@\\+\\.~#\\?&/=%]*)?$";
var url = new RegExp(regexQuery,"i");
return url.test(userInput);
}
var input = ["https://o.sub-domain.example.com/foo/bar?foo=bar&boo=far#a%20b",
"HTTP://EX-AMPLE.COM",
"example.c",
"example-.com"];
for (var i in input) document.write(isUrlValid(input[i]) + ": " + input[i] + "<br>");
IP- , :
"^(https?://)?(((www\\.)?([-a-z0-9]{1,63}\\.)*?[a-z0-9][-a-zββ0-9]{0,61}[a-z0-9]\\ββ.[a-z]{2,6})|((\\d{1ββ,3}\\.){3}\\d{1,3}))ββ(:\\d{2,4})?(/[-\\w@ββ\\+\\.~#\\?&/=%]*)?$ββ"
( , ), :
"^(https?://)?(((www\\.)?([-a-z0-9]{1,63}\\.)*?[a-z0-9][-a-zββ0-9]{0,61}[a-z0-9]\\ββ.[aββ-z]{2,6})|((\\dββ{1,3}\\.){3}\\d{1,3}ββ))(:\\d{2,4})?((/|\\ββ?)[-\\w@\\+\\.~#\\?&ββ/=%]*)?$"
, % , :
"^(https?://)?(((www\\.)?([-a-z0-9]{1,63}\\.)*?[a-z0-9][-a-zββ0-9]{0,61}[a-z0-9]\\ββ.[a-z]{2,6})|((\\d{1ββ,3}\\.){3}\\d{1,3}))ββ(:\\d{2,4})?((/|\\?)ββ(((%[0-9a-f]{2})|[-\ββ\w@\\+\\.~#\\?&/=])*ββ))?$"
(: , ).