[size=large]1.在lib中建立一个文件:string_util.rb,定义以下内容:[/size]
class String
# 半角字符串
# 【引数】
# 【返値】
# 【注意】
# 【著作】20100518 xxc
def self.hankaku?(str)
return nil if str.nil? #文字列が空のとき
unless str.to_s =[color=red]~ /^[ -~。-゚]*$/[/color] # 半角のみOKなので、全角が混ざっているとfalseが返る
return false
end
return true
end
# 全角字符串
# 【引数】
# 【返値】
# 【注意】
# 【著作】20100518 xxc
def self.zenkaku?(str)
return nil if str.nil? # 文字列が空のとき
unless str.to_s =[color=red]~/^[^ -~。-゚]*$/[/color] # 全角のみOKなので、半角が混ざっているとfalseが返る
return false
end
return true
end
end
[size=large]2.在environment.rb中: require 'string_util'[/size]
[size=large]3.调用:[/size]
* String.hankaku?("abcdef") # 判断全角字符串
* String.zenkaku?("abcdef") # 判断半角字符串
* 直接在validate中调用:
validates_format_of :code, :with => /^[ -~。-゚]*$/, :message => 'wrong!', :if => proc{ |p| p.code.present? }
class String
# 半角字符串
# 【引数】
# 【返値】
# 【注意】
# 【著作】20100518 xxc
def self.hankaku?(str)
return nil if str.nil? #文字列が空のとき
unless str.to_s =[color=red]~ /^[ -~。-゚]*$/[/color] # 半角のみOKなので、全角が混ざっているとfalseが返る
return false
end
return true
end
# 全角字符串
# 【引数】
# 【返値】
# 【注意】
# 【著作】20100518 xxc
def self.zenkaku?(str)
return nil if str.nil? # 文字列が空のとき
unless str.to_s =[color=red]~/^[^ -~。-゚]*$/[/color] # 全角のみOKなので、半角が混ざっているとfalseが返る
return false
end
return true
end
end
[size=large]2.在environment.rb中: require 'string_util'[/size]
[size=large]3.调用:[/size]
* String.hankaku?("abcdef") # 判断全角字符串
* String.zenkaku?("abcdef") # 判断半角字符串
* 直接在validate中调用:
validates_format_of :code, :with => /^[ -~。-゚]*$/, :message => 'wrong!', :if => proc{ |p| p.code.present? }