正規表現でIPアドレスを検証したい | 正規表現 | JavaScript 目的別リファレンス

現在作成中です。今後加筆修正してまいります。
スポンサーリンク

このプログラムは、与えられたIPアドレスがIPv4またはIPv6形式であるかどうかを検証します。正規表現を使用して、アドレスの形式が正しいかを判断します。

スポンサーリンク

IPアドレス検証プログラム

実行例

抽出前のIPアドレスリスト: “192.168.1.1, 255.255.255.255, 0.0.0.0, 2001:0db8:85a3:0000:0000:8a2e:0370:7334, invalid_ip”

JavaScriptとHTMLコード


<div id="output"></div>

window.onload = function() {
    const ipAddresses = [
        "192.168.1.1",
        "255.255.255.255",
        "0.0.0.0",
        "2001:0db8:85a3:0000:0000:8a2e:0370:7334",
        "invalid_ip"
    ];
    const ipv4Regex = /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;
    const ipv6Regex = /^(?:[0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$|^(?:[0-9a-fA-F]{1,4}:){1,7}:$|^(?:[0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}$|^(?:[0-9a-fA-F]{1,4}:){1,5}(?::[0-9a-fA-F]{1,4}){1,2}$|^(?:[0-9a-fA-F]{1,4}:){1,4}(?::[0-9a-fA-F]{1,4}){1,3}$|^(?:[0-9a-fA-F]{1,4}:){1,3}(?::[0-9a-fA-F]{1,4}){1,4}$|^(?:[0-9a-fA-F]{1,4}:){1,2}(?::[0-9a-fA-F]{1,4}){1,5}$|^[0-9a-fA-F]{1,4}:(?::[0-9a-fA-F]{1,4}){1,6}$|^:((?::[0-9a-fA-F]{1,4}){1,7}|:)$|^fe80:(?::[0-9a-fA-F]{0,4}){0,4}::/;
    let results = [];
    ipAddresses.forEach(ip => {
        const isValidIPv4 = ipv4Regex.test(ip);
        const isValidIPv6 = ipv6Regex.test(ip);
        results.push(`${ip} は IPv4: ${isValidIPv4}, IPv6: ${isValidIPv6}`);
    });
    document.getElementById('output').innerHTML = results.join('
');
};

このプログラムの解説

このプログラムでは、配列に含まれるIPアドレスをそれぞれ検証しています。

  • IPv4アドレスは、0から255までの数値を4つ持ち、各数値はドットで区切られています。
  • IPv6アドレスは、16ビットのセグメントを8つ持ち、コロンで区切られています。
  • 正規表現を使用して、形式が正しいかどうかを確認します。

使用したオブジェクトとメソッドについて

  • RegExp.test(): 正規表現が文字列にマッチするかどうかを判断します。
  • Array.forEach(): 配列の各要素に対して指定した関数を実行します。
  • document.getElementById(): HTMLドキュメント内の要素を取得します。
  • innerHTML: 要素のHTMLコンテンツを設定または取得します。

Arrayオブジェクト メソッドの機能一覧

Arrayオブジェクト メソッドの機能一覧 | JavaScript リファレンス
JavaScriptのArrayオブジェクトは、リストやコレクションの管理に使用されるグローバルオブジェクトです。以下に、Arrayオブジェクトのメソッドをインスタンスメソッドと静的メソッドに分け、アルファベット順にまとめています。 Arrayオブジェクトのインスタンスメソッド メソッド名 説明と注意点 Array.p...

RegExpオブジェクト メソッドの機能一覧

RegExpオブジェクト メソッドの機能一覧 | JavaScript リファレンス
JavaScriptのRegExpオブジェクトは、正規表現を使用して文字列のパターンを検出、操作するためのオブジェクトです。以下に、RegExpオブジェクトのメソッドをインスタンスメソッドと静的メソッドに分け、アルファベット順にまとめています。 RegExpオブジェクトのインスタンスメソッド メソッド名 説明と注意点 ...
Amazonロゴ
   
ad.価格範囲を指定して商品を探せます。セールで助かる便利ツール
目的別リファレンス
スポンサーリンク
このページをメモ、または、シェア