IPアドレスのフォーマットチェック(正規表現)

IPv4アドレスのルール

IPv4アドレスは
《0~255の数字》.《0~255の数字》.《0~255の数字》.《0~255の数字》
という4つのオクテットから構成されています。

上記の特徴を利用し正規表現を活用することで、IPアドレスの検索や、正しい入力かどうかのチェックに役立てることができます。

IPv4アドレスを正規表現で表す

まずIPv4アドレスは上記でも述べた通り、0~255の数字に当てはまる数字の羅列です。
0~9 または
10~99 または
100~199 または
200~249 または
250~255 のいずれかに当てはまればいいのです。
そちらを表現すると下記のようになります。

[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]

続いて、同じものが反復する部分を整理します。

[1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]

《0~255の数字》. はこの後ろに.(ドット)を付けるだけです。

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

上記のものを3回繰り返します。最後のオクテットのみドットがつきません。

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

最後に、行頭と行末を指定します。

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

これで、ドットアドレス表記されたIPv4アドレスに一致する正規表現の完成です。