gpt4 book ai didi

javascript - JavaScript 中的全名正则表达式也接受空格

转载 作者:行者123 更新时间:2023-11-28 17:41:41 28 4
gpt4 key购买 nike

我想要一个与全名匹配的正则表达式,我在 SO 上看到了下面的正则表达式:

^[a-z]([-']?[a-z]+)*( [a-z]([-']?[a-z]+)*)+$

但我还需要将名称与点(.) 匹配,因此名称为“arun K”。应该使用正则表达式返回 true。

当前 /^[a-zA-Z]+(([',.-][a-zA-Z ])?[a-zA-Z]*)*$/g.test( '你好,k。')

返回 false

最佳答案

^([a-zA-Z'-.]+ [a-zA-Z'-.]+)$

这不会使用变音符号来处理名称,这可能会影响您正在检查的某些名称,也不适用于任何不使用拉丁字符的语言,因此您最好简单地检查是否有两个单词之间的空格。但是,如果您考虑到这些因素,这应该可以。

对于某些名字,您会遇到双桶姓氏,因此会出现 - 字符,而在其他情况下(例如“O'Connor”)则会出现 ' 字符。

See it working here

编辑

询问如何在评论中将姓氏设为可选:

^([a-zA-Z'-.]+(?: [a-zA-Z'-.]+)?)$

这会将空格和姓氏组合在一起,该非捕获组末尾的 ? 使其成为可选。

See it working here

关于javascript - JavaScript 中的全名正则表达式也接受空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47793603/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com