ホームページ >バックエンド開発 >PHPチュートリアル >PHP は preg_match() 関数を使用して IP アドレスを検証するメソッドを実装します。
この記事では主に、PHP が数値と文字列の定期的な一致操作を含む preg_match() 関数を使用して IP アドレスを検証する方法を紹介します。この記事の例では、preg_match() の使用方法について説明します。 ) IP アドレスを確認するための PHP 関数メソッド。参考までに、以下のように皆さんと共有してください:
コード 1、定期的な実装
preg_match('/^(?: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}$/', $ipAddress);
コード 2、
<?php /* *@return Boolen *@param String $ip 要匹配的ip地址 *@param String $pat 匹配的正则规则 *@param Boolen 匹配成功后返回的布尔值 *preg_match() *0为不成功,1为成功 */ function fun($ip){ //0.0.0.0--- 255.255.255.255 $pat = "/^(((1?\d{1,2})|(2[0-4]\d)|(25[0-5]))\.){3}((1?\d{1,2})|(2[0-4]\d)|(25[0-5]))$/"; if(preg_match($pat,$ip)){ $num = preg_match($pat,$ip); return $num; }else{ $num = preg_match($pat,$ip); return $num; } } echo fun("255.255.255.255");
定期的な規則性の効率は元のものほど良くないので、リンク(フィルター機能)を残しておきます。
プライベート IP アドレスのフィルタリングなどのフィルタ オプション。
使用方法のリファレンス PHP の filter_var 関数を使用して IP アドレスを検証する
PHP は、IP が有効な IP アドレスであるかどうかをどのように判断しますか?このブログを読んだほとんどの人の第一印象は、それを判断する方法に関するものであるはずです。正規表現を介して。
いいえ、php5.2.0以降では、この判定を行うための特別な関数が追加されました。
正当な IP かどうかを判断する
if(filter_var($ip, FILTER_VALIDATE_IP)) { // it's valid } else { // it's not valid }
正当な IPv4 IP アドレスであるかどうかを判断する
if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4)) { // it's valid } else { // it's not valid }
192.168.1.1 などの正当なパブリック IPv4 アドレスであるかどうかを判断します。外部は除外されます
if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4 | FILTER_FLAG_NO_PRIV_RANGE)) { // it's valid } else { // it's not valid }
それが正当なIPv6アドレスであるかどうかを決定します
if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_RES_RANGE)) { // it's valid } else { // it's not valid }
それがパブリックIPv4 IPであるか、または正当なパブリックIPv6 IPアドレスであるかを決定します
if(filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE)) { // it's valid } else { // it's not valid }
上記がこの記事の要約です 全ての内容が、皆様の学習に役立つことを願っています。
関連する推奨事項:
match文字列長の一致のケース分析
match文字列長の一致ステップの詳細な説明
match は規則性を実装します式マッチング関数メソッド
以上がPHP は preg_match() 関数を使用して IP アドレスを検証するメソッドを実装します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。