求一个正则 希望是必须要http://开头
http://www.segmentfault.com //true
http://www.segmentfault.com:8080 //true
http://10.50.1.50 //true
http://10.50.1.50:2000 //true
http://10.50.1.50:2000/temp/test //true
http://10.50.1.50: //false
http://10.50.1. //false
http://www.segmentfault.com:a //false
/^http:\/\/[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\*\+,;=.]+$/
另:不建议用正则完成,js 有原生的方法可以检验
const isValidUrl = url => {
try {
new URL(url)
return true
}
catch {
return false
}
}
可以通过 URLPattern 来匹配检测网址
不过,按照网址的规则,以下两个都应该是合法的,所以这个方法也通过了