ホームページ  >  記事  >  ウェブフロントエンド  >  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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。