ホームページ > ウェブフロントエンド > jsチュートリアル > 正規表現を使用して、裸の URL を含む URL を検出するにはどうすればよいですか?

正規表現を使用して、裸の URL を含む URL を検出するにはどうすればよいですか?

DDD
リリース: 2024-12-12 19:06:15
オリジナル
125 人が閲覧しました

How Can I Use Regular Expressions to Detect URLs, Including Naked URLs?

正規表現を使用した URL の検出

現在のコードは、「http://」プレフィックスのない裸の URL と一致しません。これに対処するには、包括的な正規表現の採用を検討してください。

https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)
ログイン後にコピー

この拡張された正規表現には、次の機能が含まれています。

  • URL が「http://」のいずれかで始まることが保証されます。 、「https://」、または何も指定しません。
  • オプションとして「(www.)」を含めることでサブドメインを許可します。
  • 長さは 256 文字までのドメイン名と、6 文字までのトップレベル ドメインをサポートします。

一致で HTTP プロトコルを必要としない場合は、代替の式が利用可能です:

[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)
ログイン後にコピー

これらの式の機能をデモンストレーションするには、次のオンライン テスト ツールをチェックしてください。 http://regexr.com?37i6s (最初の式の場合) または http://regexr.com/3e6m0 (制限の少ない式の場合)。

より包括的な正規表現を使用した JavaScript 実装の例を次に示します。 :

const expression = /[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)/gi;
const regex = new RegExp(expression);
const t = 'www.google.com';

if (t.match(regex)) {
  alert("Successful match");
} else {
  alert("No match");
}
ログイン後にコピー

以上が正規表現を使用して、裸の URL を含む URL を検出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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