NewIntroducing QODEX QA Services — platform-powered QA for API-driven teams.Learn more →
IP Address Regex JavaScriptバリデーター

IP Address Regex JavaScriptバリデーター

QodexのIP Address Regex JavaScriptバリデーターで、IPv4およびIPv6パターンを簡単に検証できます。ユーザーが送信したデータやバックエンドAPIを扱う際も、このツールでIPアドレスが標準フォーマットを満たしているか確認できます。JavaScript regex テスターで複雑なパターンをテストしたり、MAC Address Regex JavaScriptバリデーターでMACアドレスを、Email Regex JavaScriptバリデーターでメールフォーマットを検証することもできます。セキュアで正確なデータバリデーションロジックを構築する開発者に最適です。

IP Address Regex JavaScriptバリデーター - ドキュメント

IP Address Regex JavaScriptバリデーター

IP Address Regexとは?

IPアドレスはネットワーク上のデバイスを識別する一意の文字列です。IPv4とIPv6の2つの形式があります。JavaScriptで正規表現(regex)を使用してIPアドレスを検証することで、フォーム、API、および設定の入力が正確でセキュアであることを確認できます。

Regexは特にフロントエンドのバリデーションで役立ちます。不正なIPエントリを防ぐことで、バックエンドエラーやセキュリティの問題を軽減できます。

IPv4アドレスのビットサイズとは?

IPv4アドレスは32ビットで構成されています。これらのビットは通常、0〜255の4つの10進数(ドットで区切られ、例:192.168.0.1)として表示されます。各数字は8ビット(オクテット)に対応し、IPv4アドレスはコンパクトでテキスト形式で表現しやすくなっています。この32ビット構造により約43億の一意のアドレスが可能となり、インターネットの拡大に伴いIPv6への移行が進む主な理由となっています。

IPアドレスバリデーションのRegexパターン

1. IPv4アドレス

IPv4は1〜3桁の数字(0〜255)の4グループで構成され、ドットで区切られています。

一般的なRegex構文チートシート
正規表現では、特定の構文要素が特定の意味を持ちます。角括弧[]はその中の任意の文字にマッチします。\dは任意の1桁にマッチします。+は1つ以上、*は0個以上、?は0個または1個(任意)を表します。^は文字列の先頭、$は文字列の末尾を表します。例えば(hello)+"hellohellohellohello"にマッチします。リテラルのドット文字にマッチする場合は、任意の文字にマッチする.の代わりに\.を使用します。

Regexパターン(IPv4):

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

マッチ:192.168.1.1、127.0.0.1、255.255.255.255

無効:300.168.1.1、192.168.1、abcd.123.0.1

2. IPv6アドレス

IPv6はより長い16進数ベースのフォーマットで、通常コロンで区切られた8グループで表記されます。

Regexパターン(IPv6 - シンプル版):

^([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$

マッチ:2001:0db8:85a3:0000:0000:8a2e:0370:7334

無効:2001:db8:85a3::8a2e:370g:7334

⚠️ 注意:IPv6の短縮形式や混在形式にマッチするためのより高度なパターンもあります。上記は完全展開形式に対応しています。

JavaScriptでRegexを使ってIPアドレスを検証する方法

function isValidIPv4(ip) {
  const ipv4Regex = /^((25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)\.){3}(25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)$/;
  return ipv4Regex.test(ip);
}

function isValidIPv6(ip) { const ipv6Regex = /^([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$/; return ipv6Regex.test(ip); }

// Example usage console.log(isValidIPv4("192.168.0.1")); // true console.log(isValidIPv6("2001:0db8:85a3:0000:0000:8a2e:0370:7334")); // true

ユースケース

  • Webフォーム:送信前にIPアドレス入力を検証します。

  • ネットワーク監視アプリJavaScript regex テスターを使って有効なデバイスIPをマッチします。

  • APIと管理パネル:検証済みIPを使用してバックエンドルーティングや設定を安全に確保します。

  • ログ分析:文字列抽出ツールを使ってサーバーログからIPアドレスを抽出します。

プロのヒント

  • パターン全体がマッチするよう、常にアンカー(^と$)を使用してください。

  • IPv6には多くの有効な短縮記法があります。対応が必要な場合は、ライブラリや高度なregexを検討してください。

  • 空白のミスマッチを避けるため、テスト前に入力にtrim()を使用してください。

  • 複数のフォーマットをまとめてテストする場合は、このツールとJavaScript regex テスターを組み合わせてください。

Frequently Asked Questions

このregexは無効なプライベートIPの範囲を検出できますか?

いいえ、フォーマットのみを検証します。IPの範囲フィルタリングには別途ロジックが必要です。

IPv4とIPv6のregexパターンの違いは何ですか?

IPv4は数字のドット区切りグループにマッチし、IPv6は16進数のコロン区切りグループにマッチします。

IPバリデーションにregexとライブラリのどちらを使うべきですか?

基本的なフォーマット確認にはregexで十分です。CIDRや予約済みの範囲などより深い検証にはライブラリを使用してください。

ポート番号を含むようにパターンを変更できますか?

はい。regexの末尾に(:\d{1,5})?を追加することで任意のポートバリデーションが可能です。

このバリデーターは大文字と小文字を区別しますか?

いいえ。IPv6のIP regexは大文字と小文字の両方の16進数を受け付けるため、大文字・小文字を区別しません。

APIを今すぐテストしましょう!

自然な日本語で書くだけで、Qodexが安全ですぐに実行できるテストに変換します。