ruby Rails regex对区域设置的验证[重复]

ftf50wuq  于 2023-06-05  发布在  Ruby
关注(0)|答案(1)|浏览(185)

此问题已在此处有答案

How do I test a WHOLE string against regex in ruby?(3个答案)
Regex for Comma delimited list(12个答案)
2天前关闭。
我需要对一串像"en,es,fr"这样的语言环境进行验证,但我找不到使其工作的方法。
我试过这个,但它不起作用:

validates :languages, format: {with: /[a-zA-Z](2)(,[a-zA-Z]{2})?/ }

有人可以帮助我的正则表达式或可以提出任何建议?
编辑:谢谢大家,最后我用自定义验证解决了这个问题。

validate :validate_locales

def validate_locales
    array_locales = languages.split(",")
    array_locales.each do |locale|
      locations = locale.split("-")
      locations.each do |location|
        if location.size == 2
          true
        else
          errors.add(:languages, "is invalid")
        end
      end
    end
  end
blmhpbnm

blmhpbnm1#

正则表达式检查字符串是否由逗号分隔的两个小写字母的区域设置代码组成。
验证:语言,格式:{ with:/\A([a-z]{2},)*[a-z]{2}\z/i }
查看regex101中的正则表达式

相关问题