JavaScript で URL を検証する、正規表現を使用しない堅牢な方法はありますか?

Barbara Streisand
リリース: 2024-11-11 21:34:03
オリジナル
554 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート