gpt4 book ai didi

javascript - 正则表达式允许以全名形式并以字母开头的任何语言字符

转载 作者:行者123 更新时间:2023-12-02 15:56:13 25 4
gpt4 key购买 nike

我尝试验证名称字段,对于此字段,我希望允许最终用户添加诸如 Merianos NikosΜέριανος Νίκος (希腊语)或来自任何其他语言的相同形式的字符。

格式为第一个字母大写,单词的其余字母小写,并且至少两个单词。

目前我有这个正则表达式 /^([A-Z][a-z]*((\s)))+[A-Z][a-z]*$/ 与英语完美配合,但不是与希腊语,也许还有其他语言。

最后,我想验证另一个字段,其中至少有一个单词,首字母大写,但该字段也可以包含单词后面的字符。

目前我使用以下正则表达式 /^[\s\w\.\-_]+$/ 有效,但我再次遇到希腊语和其他语言的问题。

最佳答案

您可以通过使用Unicode Categories来做到这一点。因此,正则表达式 ^\p{Lu}\p{Ll}+(\p{Lu}\p{Ll}+)*$ 将匹配大写字母后跟一个或多个小写字母,后跟 0 个或多个其他名称,以空格分隔。该表达式的示例如 here 所示。 .

关于你的第二点,你可以使用 ^\p{Lu}\p{Ll}*$ 之类的东西,它预计至少有 1 个大写字母,后跟 0或更多小写字母。

上面的表达式假设您的名称中没有引号,例如 O'Brian 或破折号 Foo-bar。如果您想专门处理希腊名称,并且您知道希腊名称中既没有引号也没有破折号,那么这应该不是什么大问题。

通常只需确保提供的名称不为空,而不是指定某种严格的形式。请引用this询问有关此事的更多信息。

关于javascript - 正则表达式允许以全名形式并以字母开头的任何语言字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31534321/

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