gpt4 book ai didi

c# - 正则表达式人名比较

转载 作者:行者123 更新时间:2023-11-28 20:48:18 25 4
gpt4 key购买 nike

我不太擅长正则表达式,我在互联网上寻找这个但找不到它。在我的数据库中,我存储名字、第二名和姓氏,但在我的网站上,我只有两个文本框(一个用于名字,另一个用于姓氏)。我想进行一项检查,以允许在同一文本框中包含first_name 和second_name。所以检查应该是:

  • 仅允许字母、撇号和空格
  • 如果名字的文本框不包含空格,则最大长度为 50 个字符
  • 如果包含空格,最大长度为 50 个第一个单词 + 空格 +(其余 50 个单词,任意数量)

使用正则表达式可以实现这一点吗?谢谢,欢迎任何想法。

更新

我找到了另一种使用 JS 库的方法 https://github.com/joshfraser/JavaScript-Name-Parser 。我会做一些修改:

  • 检查解析名称的长度
  • 本地化“Dr.”、“Mr.”等文本

然后我会将名称单独存储在数据库中,因为这是一个简短的注册表单,我希望文本框尽可能少。然后,如果数据有误,用户将能够转到他的个人资料并单独编辑数据。

最佳答案

类似这样的事情:

/^[A-Z']{1,50}(\s[A-Z'\s]{1,50})?$/i

(更新:请注意,虽然我相信上面的 JS 正则表达式符合您规定的要求,但我不确定您的要求是否与真实世界的名称匹配,因为您似乎假设第一个空格标记第一个空格的结尾名字。我有一些亚洲名字的 friend ,他们的名字中有一个空格。我还有一个 friend ,她的名字“Ann Marie”拼写为空格而不是连字符;她也有一个中间名,并且在在她的例子中,认为“Marie”是中间名的一部分是不正确的。)

关于c# - 正则表达式人名比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13042879/

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