正则表达式全名验证

Posted

技术标签:

【中文标题】正则表达式全名验证【英文标题】:Regex Full Name Validation 【发布时间】:2012-05-17 19:17:38 【问题描述】:

是否有一个定义明确且完整的正则表达式字符串示例可以验证全名。

我希望字符串能够验证大多数名称,例如:

堆栈溢出 John P. 示例 小马丁路德金 和各种外国信件(如果可能的话)

提前致谢。

【问题讨论】:

我试过/^[a-z ,.'-]+$/i,但它会将所有名称标记为无效。 您使用的是哪种语言/平台。并非所有的正则表达式实现都支持完全相同的语法 Objective-C (ios),特别是使用 NSPredicate。 类似的东西可以匹配任何单词,而不仅仅是名字。仅使用正则表达式无法满足您的要求,您需要一个名称数据库。 【参考方案1】:

无法做到这一点,因为没有数据集就无法确定字符串是单词还是名称。您可以做的最好的事情是匹配可能是名称的字符串,然后对照数据集检查这些肯定结果以进行确认。

【讨论】:

另见Falsehoods Programmers Believe About Names。

以上是关于正则表达式全名验证的主要内容,如果未能解决你的问题,请参考以下文章

用于验证大写字母全名的正则表达式(包括 unicode 字符)?

Java - 全名的正则表达式

比较常用证件正则表达式验证大全

验证用户名的正则表达式

正则表达式 验证昵称

js验证密码的正则表达式