首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

日本的全角,半角正则婚配

2012-11-23 
日本的全角,半角正则匹配1.在lib中建立一个文件:string_util.rb,定义以下内容:class String# 半角字符串#

日本的全角,半角正则匹配
1.在lib中建立一个文件:string_util.rb,定义以下内容:
class String
  # 半角字符串
  # 【引数】
  # 【返値】
  # 【注意】
  # 【著作】20100518 xxc   
  def self.hankaku?(str)
    return nil if str.nil? #文字列が空のとき
    unless str.to_s =~ /^[ -~?-?]*$/ # 半角のみOKなので、全角が混ざっているとfalseが返る
      return false
    end
  return true
  end

  # 全角字符串
  # 【引数】
  # 【返値】
  # 【注意】
  # 【著作】20100518 xxc   
  def self.zenkaku?(str)
    return nil if str.nil? # 文字列が空のとき
    unless str.to_s =~/^[^ -~?-?]*$/ # 全角のみOKなので、半角が混ざっているとfalseが返る
      return false
    end
    return true
  end
end

2.在environment.rb中: require 'string_util'
3.调用:
    * String.hankaku?("abcdef") # 判断全角字符串
    * String.zenkaku?("abcdef") # 判断半角字符串
    * 直接在validate中调用:

      validates_format_of :code, :with => /^[ -~?-?]*$/, :message => 'wrong!', :if => proc{ |p| p.code.present? }

热点排行