javascript - 使用扩展拉丁字母验证个人姓名的 REGEX 模式
问题描述
我想找到一个匹配仅包含此子集中字符的字符串的正则表达式模式:所有无重音的拉丁字母、空格和这些特殊字符:[ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèééêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ]。
例如:
TEST RESULT
Rui Sérgio true
Anónio Elvs Rodri true
a0ksjs jjss false
John's Alive false
João Caça true
解决方案
/^[ 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
推荐阅读
- javascript - 按钮事件监听器总是返回相同的值
- kubernetes - 跨多个 pod 将持久卷安装为 ReadOnlyMany 时出现问题
- android - 如何以原子方式使用两个 NotifyDataSetChanged()
- angular - 在 Angular 的不同环境中提供不同行为的最佳方式是什么?
- python - 数据框行和列调用
- java - request.getParameter 复选框文件上传
- altair - 如何在 Google Colab 中渲染 Vega-lite 可视化
- rest - 在主干关系模型中组合 RESTful 数据
- php - 如何通过 htaccess 将 http 请求重定向到另一个目录
- flutter - Flutter:范围值归零