+ 我要发布
我发布的 我的标签 发现
浏览器扩展
斑点象@Edge

JS 新增了一个 URL.canParse()方法,可以验证字符串是否为有效 URL

在 JavaScript 领域有关于 URL 验证前沿的新闻!经过这么多年诅咒 JavaScript 没有一种简单的方法来验证 URL,现在有一个新方法——URL.canParse()。 ``` URL.canParse('https://www.stefanjudis.com'); // true URL.canParse('www.stefanjudis.com'); // false ``` 不过,静态方法已经包含在 core-js 中。填充漂亮的 URL 验证单行代码是否很困难?事实证明,没有! URL.canParse()依赖于与 URL() 构造函数相同的算法来评估有效的 URL。 如果你很好奇,想要升级你的规范阅读游戏,并实现 WHATWG 规范中定义的基本 URL 解析器算法。URL.canParseURL() 由于这两种方法都实现了相同的解析器,并且目前得到了很好的支持,因此您可以按照一般建议使用构造函数来验证 URL。放入一个辅助函数,检查它是否异常并收工!URL()new URL()throws ``` unction isUrlValid(string) { try { new URL(string); return true; } catch (err) { return false; } } isUrlValid('https://www.stefanjudis.com'); // true isUrlValid('www.stefanjudis.com'); // false ``` 或者,如果你不喜欢某个函数,你也可以像 .isUrlValidURL.canParse()core-js 剩下的唯一问题是“什么是有效的URL?”,但我会把这个问题留到下次再说!因为这是一个艰难的过程。