regexp中的语言环境敏感字符类是否带有验证?

时间:2010-10-06 23:22:57

标签: regex validation ruby-on-rails-3

validates_format_of :first_name, :with => /\A\w+\Z/

如果名字中有非英文字符,例如Mölläinen,则验证不会通过。更改Rails区域设置没有帮助。那么你如何进行文化/语言环境敏感验证呢?

如果区域设置为EN,则\w应映射到[a-zA-Z0-9_],但如果是FI,则应映射到[a-zA-Z0-9_äöåÄÖÅ],依此类推

1 个答案:

答案 0 :(得分:1)

试试/\A[[:alpha:]]+\Z/。这应该是语言环境,至少在Ruby 1.9中。

但你可能也想允许其他角色。例如,Anna-Lena是德国的通用名称。