我想验证我的Ruby on Rails 3应用程序的 name 和 surname ,因此我发布了this question。有人建议我阅读Falsehoods Programmers Believe About Names文章,现在我遇到了麻烦。
验证姓名和姓氏的正确方法是什么?
正则表达式是一种方式,但我应该小心什么?你能给我一个概述吗?
答案 0 :(得分:5)
验证名称的正确方法是:
\pM
,\pZ
,也不是\pC
;即,既不是组合标记,分隔符之一,也不是其他(通常是控制)字符。像[^\pM\pC\pZ]
这样的角色类就足够了。那里:很容易。但是,您可能需要Ruby 1.9来正确地执行此操作。
答案 1 :(得分:1)
简单的答案是,您无法验证名称和姓氏,除了验证它们不是空*。通过填写要求姓名的表格,有人宣称“这是我的名字”,如果有人说“这是我的名字”,你应该相信他们,因为他们是他们名字的终极权威。
*即便如此,对于人们来说,只有一个名字而不是两个或三个名字是完全有效的,并且有一个人实际上没有名字的实例。他给了自己一个符号。
答案 2 :(得分:1)
如果您已阅读该文章,则您已经看到无论是否使用正则表达式都无法验证名称。
所以甚至不去那里。如果有人想给自己打个电话:Tarquin Fin-tim-lin-bin-whin-bim-lim-bus-stop-F'tang-F'tang-Olé-Biscuitbarrel(it has happened!请参阅“文化参考”部分)你是谁否认他们?