Ruby on rails 验证字符串是否属于特定语言字母表

Ruby on rails 验证字符串是否属于特定语言字母表,ruby-on-rails,validation,model,Ruby On Rails,Validation,Model,如何验证Rails模型字符串属性是否属于特定语言字母表字符 谢谢。验证的格式似乎适合您。说: 通过将指定属性的值与提供的正则表达式进行匹配,验证其格式是否正确 class Person < ActiveRecord::Base validates_format_of :email, :with => /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/i, :on => :create end class-Person/\A

如何验证Rails模型字符串属性是否属于特定语言字母表字符


谢谢。

验证的格式似乎适合您。说:

通过将指定属性的值与提供的正则表达式进行匹配,验证其格式是否正确

  class Person < ActiveRecord::Base
    validates_format_of :email, :with => /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/i, :on => :create
  end
class-Person/\A([^@\s]+)@((?:[-A-z0-9]+\)+[A-z]{2,})\z/i,:on=>:create
结束
注意:使用\A和\Z匹配字符串的开头和结尾,^和$匹配行的开头/结尾


必须提供正则表达式,否则将引发异常。

您需要根据正则表达式验证属性的值

# Only match characters a-z
validates_format_of :attr, :with => /[a-z]/
有一个名为的库可以识别字符串的语言,例如:

require 'whatlanguage'
"Je suis un homme".language      # => :french

可用于荷兰语、英语、波斯语、法语、德语、瑞典语、葡萄牙语、俄语和西班牙语,因此它也可以识别西里尔语。

正则表达式可以通过包含
u
选项来匹配任何UTF8编码字符<代码>'你'.匹配(/你/u) #=>#