入力項目には必ずといってもいいほど必要な「バリデーション」。 今回は、「その文字列が半角 or 全角文字のみであるか」というバリデーションをRubyで紹介します。 今回の条件は以下の通りです。 半角文字:半角カタカナ、半角英数字、一部の記号(濁点、半濁点など) 全角文字:半角文字でないもの メールアドレス、URLは除外 では、半角/全角のバリデーションのソース公開☆ KCODE = 'u' def self.hankaku?(str) return nil if str.nil? #文字列が空のとき unless str.to_s =~ /^[ -~。-゚]*$/ # 半角のみOKなので、全角が混ざっているとfalseが返る return false end return true end def self.zenkaku?(str) return nil if str.nil? #