如何验证网址?

时间:2011-12-28 19:13:38

标签: javascript jquery regex

我想验证网址。 它应该接受:

http://google.com

http://www.google.com

www.google.com

google.com

我引用Regex to match URL

但它不支持google.com

4 个答案:

答案 0 :(得分:3)

如果不存在,请简单地添加http://,然后进行测试。

if (inputURL.substring(0,7) != 'http://' && inputURL.substring(0,8) != 'https://') {
    inputURL = 'http://' + inputURL;
}

不需要大型库或任何东西,只需几行代码。

答案 1 :(得分:0)

function isUrl(s) {
    var regexp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
    return regexp.test(s);
}

答案 2 :(得分:0)

这是我认为应该用于验证网址的更好方式

reg = /https?:\/\/w{0,3}\w*?\.(\w*?\.)?\w{2,3}\S*|www\.(\w*?\.)?\w*?\.\w{2,3}\S*|(\w*?\.)?\w*?\.\w{2,3}[\/\?]\S*/
reg.test('www.google.com')    # will return true
reg.test('www.google')        # will return false

如果你还没弄错,请告诉我。

答案 3 :(得分:0)

此简单的帮助程序方法使用Regex验证URL,并将传递每个测试用例。它还考虑到空格,因此 google.com/a空格/ 将会失败。

    public static bool ValidateUrl(string value, bool required, int minLength, int maxLength)
    {
        value = value.Trim();
        if (required == false && value == "") return true;
        if (required && value == "") return false;

        Regex pattern = new Regex(@"^(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\(\)\*\+,;=.]+$");
        Match match = pattern.Match(value);
        if (match.Success == false) return false;
        return true;
    }