写点什么

JavaScipt 验证 URL 新方法 (2023 年版)

作者:凌览
  • 2023-12-13
    浙江
  • 本文字数:561 字

    阅读完需:约 2 分钟

JavaScipt验证URL新方法(2023 年版)

JavaScript 诞生以来,一直没有一种简单的方法验证 URL,现在 JavaScript 新增了一个新方法——URL.canParse


URL.canParse('https://www.stefanjudis.com'); // true URL.canParse('www.stefanjudis.com'); // false
复制代码


URL.canParse() 是一种快速验证字符串是否为有效的 URL 的方法。然而我们也不要高兴太早,URL.canParse()方法还存在浏览器兼容问题,在写这篇文章时支持该方法的浏览器版本如下图:



这是详情的浏览器支持信息链接:https://caniuse.com/?search=canParse


不过core-js已支持URL.canParse()方法,使用 core-js 作为垫片可以解决浏览器兼容性问题。



URL.canParse()URL() 构造函数是相同的算法来评估有效的 URL。


由于这两种方法都实现了相同的解析器,并且URL() 目前得到了很好的支持,因此我们可以使用构造函数来验证 URL。将新的URL() 放在辅助函数中,调用它并检查它是否抛出异常!


function isUrlValid(string) {  try {    new URL(string);    return true;  } catch (err) {    return false;  }}
isUrlValid('https://www.stefanjudis.com'); // trueisUrlValid('www.stefanjudis.com'); // false
复制代码


如果不喜欢 isUrlValid 函数,也可以像 core-js 一样 polyfill URL.canParse()


关注公粽号【程序员凌览】回复"666",拉您进【人类高质量前端交流群~】

往期推荐:linglan01.cn/about

发布于: 刚刚阅读数: 5
用户头像

凌览

关注

还未添加个人签名 2023-09-06 加入

还未添加个人简介

评论

发布
暂无评论
JavaScipt验证URL新方法(2023 年版)_JavaScript_凌览_InfoQ写作社区