使用regex验证url(可选)http:www

Validating url with http:www as optional using regex

本文关键字:http www 可选 regex 验证 url 使用      更新时间:2023-09-26

我正在尝试验证一个url,其中"http:www"是可选的,所以yahoo.com和http://www.yahoo.com需要是有效的url,但使用以下regex不会使utl3成为有效的url。我该怎么解决这个问题??

function checkUrlTest(url){
            var urlregex = new RegExp("^(https?:'/'/www'.)?(^(https?:'/'/www'.)[0-9A-Za-z]+'.+[a-z]{2,5})");
            return urlregex.test(url);
        }
        url3 = "yahoo.com";
        url4 = "www.yahoo.com";
        alert(checkUrlTest(url3));
(http://)?(www'.)?[A-Za-z0-9]+'.[a-z]{2,3}

在该正则表达式中,http://www.yahoo.com,http://yahoo.com和www.yahoo.com都是有效的URL

只需查看即可。所有问题都会解决。

var rgx = /^'s*(http':'/'/)?([a-z'd'-]{1,63}'.)*[a-z'd'-]{1,255}'.[a-z]{2,6}'s*$/;

工作演示http://jsfiddle.net/fy66p/

解决方案位于此处:负面展望:http://www.regular-expressions.info/lookaround.html#lookahead对于www案例,您应该得到您想要的东西。让我知道怎么回事!

希望它能满足您的需求:)

代码

function checkUrlTest(url){
    // Try this
    var urlregex = new RegExp("^(?!www | www'.)[A-Za-z0-9_-]+'.+[A-Za-z0-9.'/%&='?_:;-]+$")
            return urlregex.test(url);
        }
        url3 = "yahoo.com";
        url4 = "www.yahoo.com";
        alert('===> ' + checkUrlTest(url4) + '===> ' + checkUrlTest(url3));
function validateUrl(value)
{
    var regexp = /(ftp|http|https):'/'/('w+:{0,1}'w*@)?('S+)(:[0-9]+)?('/|'/(['w#!:.?+=&%@!'-'/]))?/
    return regexp.test(value);
}

如果不尝试这个:

(?i)'b((?:(?:[a-z]['w-]+:)?(?:/{1,3}|[a-z0-9%])|www'd{0,3}[.]|[a-z0-9.'-]+[.][a-z]{2,4}/)(?:[^'s()<>]+|'(([^'s()<>]+|('([^'s()<>]+')))*'))+(?:'(([^'s()<>]+|('([^'s()<>]+')))*')|[^'s`!()'[']{};:'".,<>?«»“”‘’]))