首页 >web前端 >js教程 >JavaScript 字符串是有效的 HTTP URL 吗?:一个实用的 URL 验证函数

JavaScript 字符串是有效的 HTTP URL 吗?:一个实用的 URL 验证函数

Linda Hamilton
Linda Hamilton原创
2024-11-15 05:12:02553浏览

Is a JavaScript String a Valid HTTP URL?: A Practical Function for URL Verification

如何验证 JavaScript 字符串是否为 URL

在 JavaScript 中,确定给定字符串是否符合 URL 的条件至关重要。与验证电子邮件地址或电话号码不同,URL 拥有独特的组件和可能格式的混合。

为了完成此任务,我们将使用 URL 构造函数。此构造函数分析提供的字符串并评估它是否满足 URL 规范。如果字符串格式错误或不符合 URL 标准,构造函数会巧妙地抛出异常。

这里有一个定制的 JavaScript 函数,用于评估 HTTP URL 的有效性:

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

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

该函数巧妙地分析提供的字符串,随后根据 URL 模板对其进行结构化。如果成功,它会仔细检查协议,确保它明确符合“http:”或“https:”格式。这种精确的检查保证 URL 确实是 HTTP URL。

但是,必须承认,虽然 RFC 3886 声明所有 URL 必须以某种方案开头(不仅仅是“http”或“https”),但此函数谨慎地将其验证限制在 HTTP URL 上。值得注意的例外包括:

  1. “www.example.com”缺少方案,因此是无效的 URL。
  2. “javascript:void(0)”拥有有效方案,因此是无效的 URL。因此被认为是一个有效的 URL,尽管不是 HTTP 的。
  3. “http://..”具有独特的结构,具有名为“..”的主机,其解析能力取决于 DNS 配置。
  4. "https://example..com" 与上述相同。

通过使用此功能,开发人员可以自信地辨别字符串是否构成有效的 HTTP URL,从而实现健壮可靠JavaScript 应用程序中的 URL 处理。

以上是JavaScript 字符串是有效的 HTTP URL 吗?:一个实用的 URL 验证函数的详细内容。更多信息请关注PHP中文网其他相关文章!

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