Rails 3:IP文字列を検証する
Rails 3 Validate Ip String
解決:
独自のパターンを作成する代わりに、ビルドを1つで使用できることを追加したかっただけです。Resolv :: IPv4 :: Regex
require'resolv 'は:gateway、:presence => true、:uniqueness => true、:format => {:with => Resolv :: IPv4 :: Regex}を検証します
Rails3でActiveRecordを使用して検証するRailsの方法は次のとおりです。
@ip_regex = / ^([1-9] | [1-9] [0-9] | 1 [0-9] [0-9] | 2 [0-4] [0-9] | 25 [0 -5])(。([0-9] | [1-9] [0-9] | 1 [0-9] [0-9] | 2 [0-4] [0-9] | 25 [0-5])){3} $ /は:gateway、:presence => true、:uniqueness => true、:format => {:with => @ ip_regex}を検証しますここに良いリソース:Wayback Archive-Ruby On Rails3または正規表現なしのアクティブモデルでの電子メール検証
標準のライブラリを呼び出すこともできます解析するIPAddr.new サブネット 、 IPV6 およびその他のクールなもの:(IPAddr)およびreturnフォーマットが間違っていた場合はnil。
ただしてください:
有効=!(IPAddr.new( '192.168.2.0/24')レスキューnil).nil? #=> true valid =!(IPAddr.new( '192.168.2.256')rescue nil).nil? #=> false