我编写了名字和姓氏的验证:
validates(:name,, format: { with: /\A[a-zA-Z]+\z/})
这仅适用于字母表,但现在还需要使用重音字符来扩展它。
可能的通行证场景:
Mike Clark Chloé André
可能的失败场景:
Mike1 21Clark André3 Chloé#
最佳答案
像在正则表达式中那样添加所有字母范围太困难了,幸运的是,这没有必要,因为 Ruby 正则表达式有一个用于匹配所有 Unicode 字母的 Unicode 类别类。
你可以使用
/\A[\p{L}\p{M}]+\z/
\p{L}
将匹配所有 Unicode 字母,\p{M}
将匹配所有变音符号。
请参阅IDEONE demo展示了这个正则表达式是如何工作的。这是一个示例方法:
def checkName(name)
return /\A[\p{L}\p{M}]+\z/ =~ name ? true : false
end
关于ruby-on-rails - 带重音字母的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35341450/