ホームページ バックエンド開発 PHPチュートリアル PHP で正規表現を使用して入力が IPv4 アドレスであるかどうかを確認する方法

PHP で正規表現を使用して入力が IPv4 アドレスであるかどうかを確認する方法

Jun 24, 2023 am 09:20 AM
PHPの正規表現 入力の検証 IPvアドレスの検証

PHP は、一般的なサーバーサイド プログラミング言語として、入力データの正確性を検証するための強力なツールをいくつか提供します。この記事では、正規表現を使用して入力が IPv4 アドレスであるかどうかを確認する方法に焦点を当てます。

まず、IPv4 アドレスとは何ですか? IPv4 アドレスは 32 ビットの 2 進数を指し、通常は 4 つの 8 ビット 2 進数に分割され、「.」で区切られ、10 進数形式で表されます。たとえば、127.0.0.1 は IPv4 アドレスです。

次に、正規表現を使用して、入力が IPv4 アドレスであるかどうかを確認する方法を見てみましょう。次に、基本的な正規表現の例を示します。

/^(?:[0-9]{1,3}.){3}[0-9]{1,3}$/
ログイン後にコピー

この正規表現は 3 つの部分で構成されます。最初の部分は # で、一致の開始位置を指定するために使用されます。 2 番目の部分は (?:[0-9]{1,3}.){3} で、3 つの数字と 3 回繰り返されたドットの組み合わせと一致することを意味します。この組み合わせは最初の部分と一致します。 3 つの数字とドット。 (?:) は非キャプチャ グループを示します。つまり、マッチング時に記録されません。最後の部分は [0-9]{1,3}$ で、最後の数字と一致し、その後に他の文字はなく、この数字で終わることを意味します。

ただし、この正規表現にはまだいくつかの問題があります。これにより、256.0.0.0 や 192.168.1.0/24 のブロードキャスト アドレスなど、一部の不可能な IPv4 アドレスの照合が可能になります。

この問題を解決するには、各数値が 0 ~ 255 の範囲内であるかどうかを確認するロジックを追加する必要があります。次に、IPv4 アドレスを検証するための正規表現の例を示します。

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

この正規表現にも 3 つの部分が含まれています。最初の部分は (25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?). で、これは意味します。一致 25 で始まる数値、24 で始まる数値、2 番目の数値が 0 から 9 の間、または 0 から 9 で始まり、3 つの場合すべてその後にドットが続きます。この組み合わせは、最初の 3 つの数字とドットに一致します。

2 番目の部分は、最初の部分を 3 回繰り返したものです。最後の部分は (25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?) で、一致することを意味します。 25 で始まる数字、24 で始まる数字、2 番目の数字が 0 ~ 9 の間、または 0 ~ 9 で始まる数字。この組み合わせは最後の番号と一致します。

この正規表現は、IPv4 アドレスの有効性を検証し、各数値を正確に取得し、各数値が 0 ~ 255 の範囲内であることを確認します。

この正規表現を使用して IP アドレスを確認する方法を示すサンプル コード:

function isIPv4($ip) {
  // 强制类型转换确保$ip为字符串类型
  $ip = (string)$ip;
  
  // 匹配IPv4地址
  $pattern = '/^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/';
  
  return preg_match($pattern, $ip);
}

// 测试验证
var_dump(isIPv4('127.0.0.1')); // true
var_dump(isIPv4('256.0.0.0')); // false
ログイン後にコピー

上の例では、isIPv4() 関数を定義しました。 IPv4 アドレスを確認します。 IP アドレスを文字列型にキャストし、正規表現と照合して、照合が成功した場合は true を返し、そうでない場合は false を返します。

実際のアプリケーションでは、ユーザーが入力したデータを検証することが非常に重要です。正規表現を使用して IPv4 アドレスを検証することは、ユーザー入力の正確さを迅速かつ簡単にチェックする方法としては良い選択です。

以上がPHP で正規表現を使用して入力が IPv4 アドレスであるかどうかを確認する方法の詳細内容です。詳細については、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)

PHP 正規表現を使用して入力が IPv6 アドレスであるかどうかを確認する方法 PHP 正規表現を使用して入力が IPv6 アドレスであるかどうかを確認する方法 Jun 25, 2023 am 09:37 AM

IPv6 は、インターネット通信に使用される IP アドレス プロトコルである InternetProtocolVersion6 を指します。 IPv6 アドレスは 128 ビットで構成される数値であり、通常は 8 つの 16 進数グループで表されます。 PHP では、正規表現を使用して、入力が IPv6 アドレスであるかどうかを確認できます。ここでは、PHP 正規表現を使用して IPv6 アドレスを確認する方法を説明します。ステップ 1: IPv6 アドレスの形式を理解する IPv6 アドレスは 8 つの 16 進数ブロックで構成され、それぞれのブロックは

PHP正規表現を使用して文字列が空かどうかを確認する方法 PHP正規表現を使用して文字列が空かどうかを確認する方法 Jun 24, 2023 am 08:46 AM

PHP では、正規表現を使用して文字列が空かどうかを確認できます。文字列が空である場合には、次のようなケースが含まれます。 文字列にスペースのみが含まれています。文字列の長さは 0 です。文字列が null または未定義です。次に、PHP で正規表現を使用してこれらの状況を検証する方法について説明します。正規表現: s+ この正規表現は、スペースのみを含む文字列と一致するために使用できます。ここで、s はスペースの一致を意味し、+ は 1 つ以上の一致を意味します。コード例: functionisEmptySt

PHP正規表現を使用して電話番号の形式を検証する方法 PHP正規表現を使用して電話番号の形式を検証する方法 Jun 24, 2023 am 08:44 AM

Web アプリケーションを作成する場合、多くの場合、電話番号を検証する必要があります。 PHP の一般的な方法は、正規表現を使用して電話番号が正しい形式であるかどうかを判断することです。正規表現は、簡潔なステートメント内の特定のパターンを識別するのに役立つ強力なツールです。以下は、PHP で正規表現を使用して電話番号の形式を検証する例です。まず、電話番号の一般的な形式を定義しましょう。電話番号には、数字、括弧、ハイフン、スペースを含めることができます。標準の電話番号には 10 桁の数字が含まれており、その前に

入力文字列が ID 番号またはパスポート番号の形式であるかどうかを確認するための PHP 正規表現 入力文字列が ID 番号またはパスポート番号の形式であるかどうかを確認するための PHP 正規表現 Jun 24, 2023 pm 12:11 PM

ID 番号とパスポート番号は、人々の生活の中でよく使われる文書番号です。これらの文書番号に関連する機能を実装する場合、多くの場合、入力された番号の形式検証を実行して、その正確性を確認する必要があります。 PHP では、この機能を実現するために正規表現を使用することができますが、この記事では、PHP の正規表現を使用して、入力文字列が ID 番号またはパスポート番号の形式であるかどうかを確認する方法を紹介します。 1. ID カード番号の確認 ID カード番号は 18 桁で構成されており、最後の 1 桁は文字 (チェック コード) の場合があり、その形式は次のとおりです。

PHP正規表現を使用してURLアドレス形式を確認する方法 PHP正規表現を使用してURLアドレス形式を確認する方法 Jun 24, 2023 am 09:51 AM

インターネットの急速な発展に伴い、URL アドレスは人々の日常生活に欠かせないものになりました。 Web 開発では、ユーザーが入力した URL アドレスがシステムで正しく認識され、使用されることを確認するために、形式検証を実行する必要があります。この記事では、PHP 正規表現を使用して URL アドレス形式を確認する方法を紹介します。 1. URL アドレスの基本コンポーネント URL アドレス形式を確認する方法を理解する前に、まず URL アドレスの基本コンポーネントを理解する必要があります。通常、標準の URL アドレスは次のもので構成されます。

PHPで正規表現を使用してファイルパスであるかどうかを確認する方法 PHPで正規表現を使用してファイルパスであるかどうかを確認する方法 Jun 24, 2023 am 10:18 AM

PHP では、正規表現は文字列の照合および検証ツールとしてよく使用されます。開発プロセス中、入力ファイルのパスが正しい形式であることを確認するために頻繁に検証する必要があります。この記事では、正規表現を使用して文字列がファイル パスであるかどうかを確認する方法を紹介します。まず、ファイル パスの基本形式を決定する必要があります。 Windows システムでは、一般的なファイル パスは「C:ProgramFilesPHPphp.exe」のような形式です。パスは次の部分に分かれています。

PHP 言語開発で XSS 攻撃を回避するにはどうすればよいですか? PHP 言語開発で XSS 攻撃を回避するにはどうすればよいですか? Jun 10, 2023 pm 04:18 PM

インターネットの普及に伴い、Web サイトのセキュリティ問題に対する注目が高まっています。その中でも、XSS 攻撃は、最も一般的で危険なセキュリティ脅威の 1 つです。 XSS の正式名称は Cross-sitescripting で、中国語ではクロスサイト スクリプティング攻撃と訳され、攻撃者が意図的に Web ページに悪意のあるスクリプト コードを挿入し、他のユーザーに影響を与えることを意味します。 PHP 言語は Web 開発で広く使用されている言語ですが、PHP 言語開発で XSS 攻撃を回避するにはどうすればよいでしょうか?この記事では、次の点について詳しく説明します。 1. パラメータ化されたクエリ

golangで正規表現を使用してIPv4アドレスを確認する方法 golangで正規表現を使用してIPv4アドレスを確認する方法 Jun 24, 2023 am 08:31 AM

コンピュータ ネットワークおよびシステム管理の分野では、IP アドレスは非常に重要な概念です。このうち最も一般的なのが IPv4 アドレスで、4 つの 10 進数 (各数値は 0 ~ 255) を真ん中のドット (.) でつないで構成されます。 Golang では、正規表現を使用して IPv4 アドレスの有効性を簡単に検証できます。正規表現を使用して IPv4 アドレスを確認する方法は次のとおりです。 まず、正規表現を使用して IPv4 アドレスを照合する必要があります。 IPv4アドレスは0から始まる4つの数字で構成されています

See all articles