Javascript 正则表达式注释冲突

Javascript 正则表达式注释冲突,javascript,jquery,regex,asp.net-mvc,Javascript,Jquery,Regex,Asp.net Mvc,我的正则表达式有问题。正则表达式中有一个“/”显然破坏了我代码的其余部分。。。 这是一个网站验证,这是迄今为止我发现的最好的正则表达式,但MVC是一个痛苦 function CheckWeb() { if ($("#Company_ContactType").val() == 'WEB') { if (/_^(?:(?:https?|ftp):/ / )( ? : \S + ( ? ::\S * ) ? @ @) ? ( ? : ( ? !10( ? : \.\d { 1

我的正则表达式有问题。正则表达式中有一个“/”显然破坏了我代码的其余部分。。。 这是一个网站验证,这是迄今为止我发现的最好的正则表达式,但MVC是一个痛苦

function CheckWeb() {
    if ($("#Company_ContactType").val() == 'WEB') {
        if (/_^(?:(?:https?|ftp):/ / )( ? : \S + ( ? ::\S * ) ? @ @) ? ( ? : ( ? !10( ? : \.\d { 1, 3 }) { 3 })( ? !127( ? : \.\d { 1, 3 }) { 3 })( ? !169\ .254( ? : \.\d { 1, 3 }) { 2 })( ? !192\ .168( ? : \.\d { 1, 3 }) { 2 })( ? !172\.( ? : 1[6 - 9] | 2\ d | 3[0 - 1])( ? : \.\d { 1, 3 }) { 2 })( ? : [1 - 9]\ d ? | 1\ d\ d | 2[01]\ d | 22[0 - 3])( ? : \.( ? : 1 ? \d { 1, 2 } | 2[0 - 4]\ d | 25[0 - 5])) { 2 }( ? : \.( ? : [1 - 9]\ d ? | 1\ d\ d | 2[0 - 4]\ d | 25[0 - 4])) | ( ? : ( ? : [a - z\ x { 00 a1 } - \x { ffff } 0 - 9] + - ? ) * [a - z\ x { 00 a1 } - \x { ffff } 0 - 9] + )( ? : \.( ? : [a - z\ x { 00 a1 } - \x { ffff } 0 - 9] + - ? ) * [a - z\ x { 00 a1 } - \x { ffff } 0 - 9] + ) * ( ? : \.( ? : [a - z\ x { 00 a1 } - \x { ffff }] { 2, })))( ? ::\d { 2, 5 }) ? ( ? : /[^\s]*)?$_iuS/.test) {
            var resultDiv = $("#IsValid");
            resultDiv.text("");
        }
    });
}
我有没有办法确保它不会在“测试”之外注释掉

应该是这样的:

(?:(?:https?|ftp):\/\/ )
在结尾处还有另一个需要转义的正斜杠:

( ? : /[^\s]*)?$_iuS
应该是:

( ? : \/[^\s]*)?$_iuS

这导致regex101没有模式错误

为什么在JS中使用PCRE regex?老实说,我对regex不太了解,所以我只使用了它,因为它是最全面的,但除此之外,我不知道…在每个
/
之前使用反斜杠。比如..
\/\/
谢谢!这很有帮助…但现在它在其他地方被打破了\谢谢!我真的很感谢你的帮助!
( ? : \/[^\s]*)?$_iuS