首页 > 解决方案 > 使用扩展拉丁字母验证个人姓名的 REGEX 模式

问题描述

我想找到一个匹配仅包含此子集中字符的字符串的正则表达式模式:所有无重音的拉丁字母、空格和这些特殊字符:[ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèééêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ]。

例如:

TEST               RESULT
Rui Sérgio          true
Anónio Elvs Rodri   true
a0ksjs jjss         false
John's Alive        false
João Caça           true

标签: javascriptjqueryregexregex-lookaroundsregex-group

解决方案


/^[ a-zA-Z\xC0-\xC5\xC7-\xCF\xD1-\xD6\xD8-\xDC\xE0-\xE5\xE7-\xEF\xF1-\xF6\xF8-\xFC\xFF]+$/gm

https://regex101.com/r/i1lwd2/1

或这个

/^[a-zA-Z\xC0-\xC5\xC7-\xCF\xD1-\xD6\xD8-\xDC\xE0-\xE5\xE7-\xEF\xF1-\xF6\xF8-\xFC\xFF](?:[ ]?[a-zA-Z\xC0-\xC5\xC7-\xCF\xD1-\xD6\xD8-\xDC\xE0-\xE5\xE7-\xEF\xF1-\xF6\xF8-\xFC\xFF])*$/gm

https://regex101.com/r/m5ZGcC/1


Regex1:   ^[ a-zA-Z\xC0-\xC5\xC7-\xCF\xD1-\xD6\xD8-\xDC\xE0-\xE5\xE7-\xEF\xF1-\xF6\xF8-\xFC\xFF]+$
Options:  < m >
Completed iterations:   50  /  50     ( x 1000 )
Matches found per iteration:   3
Elapsed Time:    1.05 s,   1048.52 ms,   1048522 µs
Matches per sec:   143,058


Regex2:   ^[a-zA-Z\xC0-\xC5\xC7-\xCF\xD1-\xD6\xD8-\xDC\xE0-\xE5\xE7-\xEF\xF1-\xF6\xF8-\xFC\xFF](?:[ ]?[a-zA-Z\xC0-\xC5\xC7-\xCF\xD1-\xD6\xD8-\xDC\xE0-\xE5\xE7-\xEF\xF1-\xF6\xF8-\xFC\xFF])*$
Options:  < m >
Completed iterations:   50  /  50     ( x 1000 )
Matches found per iteration:   3
Elapsed Time:    0.94 s,   942.53 ms,   942535 µs
Matches per sec:   159,145

推荐阅读