在JavaScript中验证没有www的URL

时间:2011-12-14 13:32:28

标签: javascript regex

任何人都可以在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

4 个答案:

答案 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");
}

via:http://snippets.dzone.com/posts/show/452

答案 2 :(得分:0)

更简化的版本可能是:^http\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,6}(/\S*)?$ 我不知道这对你来说是否足够,因为我不知道你想对结果做些什么。

答案 3 :(得分:0)

也许你可以:

s,(https?://)(?!www\.),\1www.,

并使用jquery验证转换后的字符串?

这将避免编写另一个正则表达式以匹配URL ...