Ruby / Railsで文字列がIPアドレスとして適切かどうかチェックする
概要
最近、ある文字列がIPアドレスとして適切かどうかチェックする方法を調べる機会があったので、その結果を備忘録としてここにメモしておきます。
実装
正規表現を考えるのは面倒だったので、Rubyの標準ライブラリであるIPAddr
を使いました。
例
引数の文字列がIPアドレスとして適切かどうか調べるvalid_ip?
メソッドは以下のようになる。
require 'ipaddr' def valid_ip?(str) !!IPAddr.new(str) rescue false end
Railsでは、require
せずにIPAddr
クラスを使うことができるみたいです。
実行結果
p valid_ip?("192.168.2.0") # => true p valid_ip?("192") # => false