IPv6 は、インターネット プロトコル バージョン 6 を指し、インターネット通信に使用される IP アドレス プロトコルです。 IPv6 アドレスは 128 ビットで構成される数値であり、通常は 8 つの 16 進数グループで表されます。 PHP では、正規表現を使用して、入力が IPv6 アドレスであるかどうかを確認できます。ここでは、PHP 正規表現を使用して IPv6 アドレスを確認する方法を説明します。
ステップ 1: IPv6 アドレスの形式を理解する
IPv6 アドレスは 8 つの 16 進数ブロックで構成され、各ブロックはコロン (:) で区切られます。各 16 進数ブロックは 4 桁の 16 進数である必要があります。 IPv6 アドレスの例をいくつか示します: IPv6 の
2001:0db8:85a3:0000:0000:8a2e:0370:7334
fe80::1
::1
アドレスには、注意が必要な特別なルールがいくつかあります:
ステップ 2: PHP 正規表現を作成する
PHP では、preg_match 関数を使用して正規表現のマッチングを実行できます。入力が IPv6 アドレスであることを確認するための PHP 正規表現の例を次に示します。
function is_ipv6_address($address) {
return preg_match('/^(
(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4})| # 1: full IPv6 address (([0-9a-fA-F]{1,4}:){1,7}:) # 2: compressed IPv6 address with leading zeros (:([0-9a-fA-F]{1,4}:){1,6}) # 3: compressed IPv6 address with intermediate zeros (([0-9a-fA-F]{1,4}:){1,5}:) # 4: compressed IPv6 address with leading and intermediate zeros ((:[0-9a-fA-F]{1,4}){1,5}:) # 5: compressed IPv6 address with trailing zeros ((:[0-9a-fA-F]{1,4}){1,4}:) # 6: compressed IPv6 address with leading, intermediate and trailing zeros ((:[0-9a-fA-F]{1,4}){1,3}:) # 7: compressed IPv6 address with leading, intermediate and trailing zeros ((:[0-9a-fA-F]{1,4}){1,2}:) # 8: compressed IPv6 address with leading, intermediate and trailing zeros ((:[0-9a-fA-F]{1,4}){1,1}:) # 9: compressed IPv6 address with leading, intermediate and trailing zeros )$/i', $address);
}
この正規表現の主要部分は、IPv6 アドレスのさまざまな部分と一致するために使用される正規表現です。これには、次の 9 つの正規表現が含まれます:
上記の正規表現を記述した後、次の PHP コードを使用して、入力が IPv6 アドレスであるかどうかを確認できます:
$address = " 2001:0db8:85a3:0000: 0000:8a2e:0370:7334";
if (is_ipv6_address($address)) { echo "入力は IPv6 アドレスです";
} else {
echo "入力は IPv6 アドレスではありません";
}
このコードでは、IPv6 アドレス文字列 $address が最初に定義され、その文字列は is_ipv6_address 関数を使用して検証されます。 IPv6 アドレスの場合、出力は「入力は IPv6 アドレスです」、それ以外の場合は出力は「入力は IPv6 アドレスではありません」となります。
概要
PHP では、正規表現を使用できます。入力が IPv6 アドレスであるかどうかを確認するには、まず IPv6 アドレスの形式を理解してから、適切な正規表現を記述し、preg_match 関数を使用して照合します。テスト後、上記の正規表現は IPv6 アドレスを正しく検証できます。
以上がPHP 正規表現を使用して入力が IPv6 アドレスであるかどうかを確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。