-3

我想检查输入的 url 是否有效。

这是我的代码

var regExpURL = /((http|https):\/\/(\w+:{0,1}\w*@)?(\S+)|)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;
var websiteURL = $("#txtotherwebsite").val();
if(!regExpURL.test(websiteURL))
{
   $("#errorwebsite")[0].innerHTML = "Invalid website name.";
   $("#txtotherwebsite").removeClass("successTextBox").addClass("errorTextBox");
   return false;
}
else
{
    $("#errorwebsite")[0].innerHTML = "";
    $("#txtotherwebsite").removeClass("errorTextBox").addClass("successTextBox");
    return true;
}
return false;

但是当我使用它时,它只会在其他地方使用。regExpURL.test(websiteURL) 总是返回 true。

4

1 回答 1

-1

使用以下正则表达式:

(?<Protocol>\w+):\/\/(?<Domain>[\w@][\w.:@]+)\/?[\w\.?=%&=\-@/$,]*

要对其进行测试,请访问:http ://regexlib.com/RETester.aspx

放入源文本框:

http://www.usgs.gov
http://www.acl.lanl.gov/URI/archive/uri-archive.index.html
ftp://@host.com/
ftp://host.com/
ftp://foo:@host.com/
ftp://myname@host.dom/%2Fetc/motd
file://vms.host.edu/disk$user/my/notes/note12345.txt
prospero://host.dom//pros/name

放入正则表达式文本框

(?<Protocol>\w+):\/\/(?<Domain>[\w@][\w.:@]+)\/?[\w\.?=%&=\-@/$,]*

它将匹配上述所有 URL

希望它可以帮助你

于 2013-10-12T08:36:32.410 回答