function isURL(url) {
const strRegex = '^((https|http|ftp)://)?'//(https或http或ftp):// 可有可無
+ '(([\\w_!~*\'()\\.&=+$%-]+: )?[\\w_!~*\'()\\.&=+$%-]+@)?' //ftp的user@ 可有可無
+ '(([0-9]{1,3}\\.){3}[0-9]{1,3}' // IP形式的URL- 3位數字.3位數字.3位數字.3位數字
+ '|' // 允許IP和DOMAIN(域名)
+ '(localhost)|' //匹配localhost
+ '([\\w_!~*\'()-]+\\.)*' // 域名- 至少一個[英文或數字_!~*\'()-]加上.
+ '\\w+\\.' // 一級域名 -英文或數字 加上.
+ '[a-zA-Z]{1,6})' // 頂級域名- 1-6位英文
+ '(:[0-9]{1,5})?' // 端口- :80 ,1-5位數字
+ '((/?)|' // url無參數結尾 - 斜桿或這沒有
+ '(/[\\w_!~*\'()\\.;?:@&=+$,%#-]+)+/?)$';//請求參數結尾- 英文或數字和[]內的各種字符
const re = new RegExp(strRegex, 'i'); // 大小寫不敏感
if (re.test(encodeURI(url))) {
return true;
}
return false;
}