可以使用new URL来解构赋值,只有满足其参数才会返回true,使用try catch语法抛出flase。
const isUrl = (urlStr) => {
try {
const { href, origin, host, hostname, pathname } = new URL(urlStr);
console.log(href, origin, host, hostname, pathname)
return href && origin && host && hostname && pathname && true;
} catch (e) {
return false;
}
};
var url= 'https://www.baidu.com/s?ie=UTF-8&wd=%E5%9C%A8%E8%BE%93%E5%85%A5%E6%A1%86%E4%B8%AD%E5%A6%82%E4%BD%95%E5%88%A4%E6%96%AD%E8%BE%93%E5%85%A5%E7%9A%84%E6%98%AF%E4%B8%80%E4%B8%AA%E6%AD%A3%E7%A1%AE%E7%9A%84%E7%BD%91%E5%9D%80'
console.log(isUrl(url));