如何用valid-url库的.isUri仅验证HTTPS URL(JavaScript)
仅用valid-url验证HTTPS协议URL的实现方案
可以通过结合valid-url的.isUri方法与原生URL对象实现仅验证HTTPS协议的URL,具体修改如下:
const validateUrl = (url) => { // 先验证是否为合法URI const validUri = validUrl.isUri(url); if (!validUri) return false; // 解析合法URI并检查协议 try { const urlObject = new URL(validUri); return urlObject.protocol === 'https:'; } catch (error) { // 兜底处理(理论上合法URI不会触发) return false; } };
逻辑说明
- 首先调用
validUrl.isUri(url)验证输入是否为符合标准的URI,若不合法直接返回false; - 对合法的URI,使用原生
URL对象解析,通过protocol属性判断是否为HTTPS协议(注意protocol属性值带冒号,即https:); - 添加
try-catch做异常兜底,避免极端情况下的解析错误。
验证结果匹配示例
https://test.com→ 返回truetest.com→ 返回falsehttp://test.com→ 返回falsehttp://test→ 返回false
内容的提问来源于stack exchange,提问作者F-Developer
相关产品推荐
相关产品推荐

