首页  >  文章  >  web前端  >  如何在没有正则表达式的情况下验证 JavaScript 中的 URL 字符串?

如何在没有正则表达式的情况下验证 JavaScript 中的 URL 字符串?

Susan Sarandon
Susan Sarandon原创
2024-11-12 14:18:01847浏览

How to Validate a URL String in JavaScript Without Regular Expressions?

在 JavaScript 中确定 URL 字符串的有效性

在 JavaScript 领域,验证给定字符串是否符合条件的能力URL 是一项至关重要的技能。不使用正则表达式,可以有效地完成此任务。

为了确定字符串是否代表有效的 HTTP URL,URL 构造函数提供了可靠的解决方案。当遇到格式不正确的字符串时,此方法会触发错误。下面是一个利用此方法的 JavaScript 函数:

function isValidHttpUrl(string) {
  let url;

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

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

注意: 根据 RFC 3886 的定义,合法的 URL 必须以方案开头(不限于 HTTP/HTTPS)。考虑以下示例:

  • www.example.com:无效 URL(缺少方案)
  • javascript:void(0):有效 URL,但不是 HTTP URL
  • http://..:具有不寻常主机的有效 URL(DNS 解析决定可访问性)
  • https://example..com:有效 URL,与前面的示例类似

以上是如何在没有正则表达式的情况下验证 JavaScript 中的 URL 字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!

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