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

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

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

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

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

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

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

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

jsx 复制代码
function isUrlValid(string) {
  try {
    new URL(string);
    return true;
  } catch (err) {
    return false;
  }
}

isUrlValid('https://www.stefanjudis.com'); // true
isUrlValid('www.stefanjudis.com'); // false

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

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

往期推荐:linglan01.cn/about

相关推荐
人民广场吃泡面5 分钟前
React新手快速入门学习指南(2026最新版)
前端·react.js·前端框架
kyriewen1112 分钟前
本地存储全家桶:从localStorage到IndexedDB,把数据塞进用户浏览器
开发语言·前端·javascript·ecmascript·html5
油丶酸萝卜别吃28 分钟前
本地调试跨域问题:关闭 Chrome 同源策略的技巧
前端·chrome
Rysxt_28 分钟前
Vue 组件穿透(透传)完全指南:从背景到实战
前端·javascript·vue.js
浮尘笔记33 分钟前
从零开始:Android环境搭建与WebView套壳应用
android·前端·android studio·安卓
束尘36 分钟前
Vue3 + Element Plus 实现 ZIP 压缩包在线预览(支持图片插入 / 文件预览)
前端·javascript·vue.js
一只小阿乐1 小时前
js流式模式输出 函数模式使用
开发语言·javascript·ai·vue·agent·流式数据·node 服务
伯远医学1 小时前
如何判断提取的RNA是否可用?
java·开发语言·前端·javascript·人工智能·eclipse·创业创新
全栈技术负责人1 小时前
Claw Code 系统架构与 Agent 运行机制解析
前端·系统架构·ai编程
人人常欢笑1 小时前
Grafana 表格自定义下载样式。
javascript·react.js·grafana