任何人都可以在JavaScript中告诉正则表达式进行URL验证吗?
我需要验证http/https://example.com/...
我尝试使用
((^http/://[a-zA-Z][0-9a-zA-Z+\\-\\.]*:)?/{0,2}[0-9a-zA-Z;/?:@&=+$\\.\\-_!~*'()%]+)?(#[0-9a-zA-Z;/?:@&=+$\\.\\-_!~*'()%]+)?
我试图检查的例子是:
http://google.com
https://google.com
www.google.com
答案 0 :(得分:1)
您可以尝试这样的事情:
var url = "Some url...";
var regexp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
if (regexp.test(url)) {
alert("Match");
} else {
alert("No match");
}
答案 1 :(得分:0)
尝试:
function isUrl(s) {
var regexp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)\
(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
return regexp.test(s);
}
if (isUrl("your_url_here")) {
console.log("URL is valid");
} else {
console.log("URL is invalid");
}
答案 2 :(得分:0)
更简化的版本可能是:^http\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,6}(/\S*)?$
我不知道这对你来说是否足够,因为我不知道你想对结果做些什么。
答案 3 :(得分:0)
也许你可以:
s,(https?://)(?!www\.),\1www.,
并使用jquery验证转换后的字符串?
这将避免编写另一个正则表达式以匹配URL ...