有一处小业务需要用户手动输入链接,需要验证链接是否合法,首先想到的肯定是正则验证,最近看到了new URL() 这个方法,试了一下 果然有效 而且new URL() 可以对一些错误链接(比如:后面就一个斜杠)进行修正
当然此方法有一些局限性,下面的链接应该被判断为错误
当然,从长久考虑 new URL()可能是为了兼容未来版本,毕竟以后可能会除了除 http 和 https 的其他合法超文本传输协议
基本写法如下:
try {
let url
= 'http://www.baidu.com'
let obj
= new URL(url
)
url
= obj
.href
} catch(err
) {
if(err
){
alert('请检查链接是否正确!')
}
}