首页  >  文章  >  web前端  >  是否有一种强大的、无正则表达式的方法来验证 JavaScript 中的 URL?

是否有一种强大的、无正则表达式的方法来验证 JavaScript 中的 URL?

Barbara Streisand
Barbara Streisand原创
2024-11-11 21:34:03561浏览

Is There a Robust, Regex-Free Way to Validate URLs in JavaScript?

JavaScript 中强大的 URL 验证

JavaScript 提供了几种有用的工具来操作和验证字符串。在本文中,我们将特别关注检查给定字符串是否代表有效的 URL,不包括使用正则表达式。

确定有效性

确定有效性对于 URL,我们可以利用 URL 构造函数。当遇到格式错误的 URL 时,此构造函数将抛出错误。下面是一个采用这种方法的 JavaScript 函数:

function isValidHttpUrl(string) {
  let url;

  try {
    url = new URL(string);
  } catch (_) {
    return false;
  }

  return url.protocol === "http:" || url.protocol === "https:";
}

但是,需要注意的是,此方法仅检查是否存在方案(例如,“http”或“https”),如 所定义RFC 3886。因此,以下场景被视为有效 URL:

  • www.example.com(方案为缺失)
  • javascript:void(0)(非 HTTP 方案)
  • http://..(主机为“..”)
  • https:// example..com(主机包括“..”)

以上是是否有一种强大的、无正则表达式的方法来验证 JavaScript 中的 URL?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn