IP アドレスのみ

1/^(([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])$/

この正規表現は、次サイトをリスペクトいたしました。

sidewalkcafe blog
正規表現によるIPアドレスのチェック
http://sidewalkcafe.hatenablog.com/entry/2014/09/01/000000

これはダメなやつ

最初、

1[1-9]{1,3}

でやればいいかなーと雑に考えていました。

上の正規表現ならば、 0-255 の範囲をしっかり拾える のですね。
ちょっと長くなっちゃいますけど。

IPアドレス + サブネットマスク

ちょっと発展させ、サブネットマスクも引っ掛けられるようにしました。

1/^(([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]|\/(1|2)[0-9]|\/3[0-2])?$/

むつかしかったらチョコ食べて