关于如何使用正则表达式validation姓名和姓氏的建议

我想validation我的Ruby on Rails 3应用程序的名称姓氏 ,所以我发布了这个问题 。 有人建议我阅读Falsehoods Programmers Believe About Names文章,现在我遇到了麻烦。

validation姓名和姓氏的正确方法是什么?

正则表达式是一种方式,但我应该小心什么? 你能给我一个概述吗?

validation名称的正确方法是:

  1. 接受任何和所有可能的Unicode字符。
  2. 拒绝长度为0的输入。
  3. 确保结果至少有一个既不是\pM\pZ ,也不是\pC字符; 即,既不是组合标记,分隔符之一,也不是其他(通常是控制)字符。 像[^\pM\pC\pZ]这样的字符类就足够了。

那里:尽可能容易。 但是,您可能需要Ruby 1.9才能正确执行此操作。

如果您已阅读该文章,您已经看到无论是否使用正则表达式都无法validation名称。

所以,甚至不去那里。 如果人们想要称自己为Tarquin Fin-tim-lin-bin-whin-bim-lim-bus-stop-F’tang-F’tang-Olé-Biscuitbarrel( 它已经发生了!请参阅“文化参考”部分),你是谁否认他们?

简单的答案是,您不能validation名称和姓氏,除了validation它们不是null *。 通过填写要求姓名的表格,有人宣称“这是我的名字”,如果有人说“这是我的名字”,你应该相信他们,因为他们是他们名字的终极权威。

*即便如此,人们只有一个名字而不是两个或三个名字是完全有效的,并且有一个人实际上没有名字的实例。 他给了自己一个符号。