ホームページ  >  記事  >  ウェブフロントエンド  >  正規表現を使用して IP アドレスとドメイン名を照合する方法

正規表現を使用して IP アドレスとドメイン名を照合する方法

php中世界最好的语言
php中世界最好的语言オリジナル
2018-01-08 11:25:365556ブラウズ

完全なドメイン名はルート ドメイン、トップレベル ドメイン、第 2 レベル、第 3 レベル... のドメイン名で構成されており、ドメイン名の各レベルはドットで区切られ、ドメイン名の各レベルが構成されていることがわかっています。文字、数字、マイナス記号 (いいえ。文字にマイナス記号は使用できません) を使用し、大文字と小文字は区別されず、長さは 63 文字を超えることはできません。

単一の名前は 正規[a-zA-Z0-9][-a-zA-Z0-9]{0,62} で照合できますが、完全なドメイン名には少なくとも 2 つの名前が含まれます名前 (たとえば、google と com で構成される google.com) の末尾にルート ドメインを示すドットが存在する場合があります (仕様では、末尾にドットがあるドメイン名が完全なドメイン名ですが、一般に、3 つ以上の名前を含むドメイン名も、後ろにドットがない場合でも完全なドメイン名であると見なされます)。

完全なドメイン名に一致する正規表現:

[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\.?

IP 文字列は 4 つのセグメントで構成され、各セグメントは 0 ~ 255 の数値であり、セグメントは小数点で区切られます (例: 61.139.2.69)。有効な IP 文字列。

正規表現が d{1,3}(.d{1,3}){3} と書かれている場合、300.400.555.666 のような不正な IP 文字列と一致する可能性があるため、間違いなく無責任です。

0から255までの数値を照合するには、いくつかの照合方法があります。

正規表現の照合手順

0〜9 d 単一の数値
10〜99 [1-9] d 2つ-桁の数字
100~199 1dd 百の位を1とした3桁の数字
200~249 2[0-4]d 3桁の数字、百の位は2、十の位は0~9
250~ 255 25[0 -5] 3桁の数字、百の位は2、十の位は5、一の位は0~5です

正規表現で書きます。つまり、(d|([1- 9]d)|(1dd)|(2 [0-4]d)|(25[0-5])) ただし、このような正規表現が 254 のような文字列に一致する場合、2、5、および 4 に一致します。それぞれ 3 つの一致が発生しますが、期待される効果は達成できません。正しい方法は、順序を ((25[0-5])|(2[0-4]d)|(1dd)|([1 -9]d)|d)、(xxx |yyy) であるため、この一致 動作 では、検索 は左から右 に行われます。

完全な正規表現は次のとおりです:

 ((25[0-5])|(2[0-4]\d)|(1\d\d)|([1-9]\d)|\d)(\.((25[0-5])|(2[0-4]\d)|(1\d\d)|([1-9]\d)|\d)){3}

押す:

061 のように上位ビットが 0 の数字は一致できません。

したがって、上部の書き方(その1.)は正確で完全なバージョンですが、書き方(その2.)はより一方的です

これを読んだ後、あなたは方法をマスターしたと思います

さらに興味深い情報については、php 中国語 Web サイトのその他の関連記事に注目してください。

関連書籍:
正規表現を使用して JavaScript コードを強調表示する方法


正規表現フォーム検証の例


電話番号、携帯電話番号、電子メール アドレスを照合するために正規表現を使用する方法

🎜 🎜

以上が正規表現を使用して IP アドレスとドメイン名を照合する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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