JavaScript 中正则表达式验证 URL 网址合法性,实用有效

正则表达式式

正则表达式:/^(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\*\+,;=.]+$/
上面正则表达式验证对以下类型网址都有效,可以去https://regexr.com/在线验证下

网址整体匹配

/^(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\*\+,;=.]+$/

域名匹配

^(?:[a-z0-9](?:[a-z0-9-]{
    
    0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{
    
    0,61}[a-z0-9]$
http://192.168.31.111:8080
https://backend.thoroughfuture.com:443
https://backend.thoroughfuture.com:443/getUser?name=niu&age=18
https://www.example.com
http://www.example.com
www.example.com
example.com
http://blog.example.com
http://www.example.com/product
http://www.example.com/products?id=1&page=2
http://www.example.com#up
http://255.255.255.255
255.255.255.255
http://invalid.com/perl.cgi?key= | http://web-site.com/cgi-bin/perl.cgi?key1=value1&key2
http://www.site.com:8008

在这里插入图片描述

function IsURL(strUrl) {
    
    
   var regular = /^(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\*\+,;=.]+$/
    if (regular.test(strUrl)) {
    
    
      return true;
    }
    else {
    
    
      return false;
    }
}
console.log(IsURL('https://backend.thoroughfuture.com:443'));

猜你喜欢

转载自blog.csdn.net/m0_46672781/article/details/129294445