読者です 読者をやめる 読者になる 読者になる

Ruby / Railsで文字列がIPアドレスとして適切かどうかチェックする

Ruby Ruby on Rails

概要

最近、ある文字列が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

参考