ホームページ バックエンド開発 PHPチュートリアル PHP正規表現を使用してIPアドレスを確認する方法

PHP正規表現を使用してIPアドレスを確認する方法

Jun 24, 2023 am 10:26 AM
php 正規表現 IPアドレス

Web アプリケーションを開発する場合、ユーザーが入力した IP アドレスが正しい形式であるかどうかを確認する必要があることがよくあります。 PHP 正規表現は、入力された IP アドレスが指定された形式に準拠しているかどうかを確認するために使用できる強力なツールです。この記事では、PHP 正規表現を使用して IP アドレスを確認する方法を紹介します。

IP アドレスは、ネットワーク内のデバイスの一意の識別子であり、32 ビットの 2 進数で構成され、通常は IPv4 アドレスと呼ばれます。 IPv4 アドレスは通常、「192.168.0.1」のようにドット付き 10 進表記で表されます。 IPv6 アドレスも一般的な IP アドレス形式ですが、この記事では IPv4 アドレスについてのみ説明します。

PHP 正規表現は、指定された文字列内の特定のパターンを見つけるために使用されるパターン マッチング ツールです。正規表現は、一致するパターンを表すために使用されるいくつかの文字と特殊文字で構成されます。 PHP では、preg_match() 関数を使用して正規表現のマッチングを実行できます。

次は、IPv4 アドレスを確認するための正規表現です:

/^([01]?d{1,2}|2[0-4]d|25[0-5]).
([01]?d{1,2}|2[0-4]d|25[0-5]).
([01]?d{1,2}|2[0-4]d|25[0-5]).
([01]?d{1,2}|2[0-4]d|25[0-5])$/
ログイン後にコピー

上記の正規表現では、名前付きグループを使用して、IPv4 アドレスの 4 つのフィールド (最初と 2 番目のフィールド) と一致します。は 0 ~ 255 であり、3 番目と 4 番目のフィールドの範囲は 0 ~ 255 です。正規表現内の疑問符はオプションを表します。「[01]?」は、最初の桁が 0 または 1 で、その後に 1 桁 (つまり、奇数) が続くことを意味します。 「d」は任意の数値を意味し、{1,2} は 1 つまたは 2 つの数値を意味します。たとえば、「d{1,2}」は 1 ~ 99 の任意の数値と一致します。

次は、preg_match() 関数を使用して IP アドレスを確認する例です。

function validateIP($ip) {
    if (preg_match('/^([01]?d{1,2}|2[0-4]d|25[0-5]).
                 ([01]?d{1,2}|2[0-4]d|25[0-5]).
                 ([01]?d{1,2}|2[0-4]d|25[0-5]).
                 ([01]?d{1,2}|2[0-4]d|25[0-5])$/', $ip)) {
        return true;
    } else {
        return false;
    }
}
ログイン後にコピー

上記のコードは、パラメータ「$」を渡す「validateIP()」という名前の関数を定義しています。 ip 」を入力として使用し、そのパラメータで IPv4 アドレスを検索します。一致するものが見つかった場合は true を返し、それ以外の場合は false を返します。

次は、この関数を使用して IP アドレスを確認する例です:

$ip = "192.168.0.1";
if (validateIP($ip)) {
    echo "$ip 是一个有效的IP地址";
} else {
    echo "$ip 不是一个有效的IP地址";
}
ログイン後にコピー

上記のコードは、まず、確認する IP アドレスを含む「$ip」という名前の文字列変数を定義します。 。次に、 validateIP() 関数を呼び出して、アドレスが有効かどうかを確認します。

より一般的な状況は、フォーム検証で IP アドレス検証を使用することです。 PHP を使用してフォーム データの IP アドレスを検証する例を次に示します。

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $ip = $_POST["ip"];

    if (empty($ip)) {
        echo "请输入一个IP地址";
    } else if (!validateIP($ip)) {
        echo "您输入的不是一个有效的IP地址";
    } else {
        echo "IP地址 $ip 是有效的";
    }
}
ログイン後にコピー

上記のコードは、まず POST リクエストがあるかどうかを確認し、フォーム データから「ip」パラメータを取得してファイルに保存します。 「 $ip 」変数という名前。次に、 validateIP() 関数を呼び出してアドレスが有効かどうかを確認し、結果に基づいて対応するメッセージを出力します。

正規表現は、ユーザーが入力した IP アドレスを検証する場合の強力なツールです。 PHP の preg_match() 関数を使用して、正規表現の検索と一致を実行できます。上記の正規表現を使用して、IP アドレス検証に関連する関数とコードを構築するのは非常に簡単です。

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

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP データベースの操作 CakePHP データベースの操作 Sep 10, 2024 pm 05:25 PM

CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

CakePHP のロギング CakePHP のロギング Sep 10, 2024 pm 05:26 PM

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

See all articles