Regex 所有字母表中所有字母的正则表达式,带空格,其他字母除外

Regex 所有字母表中所有字母的正则表达式,带空格,其他字母除外,regex,spaces,letters,Regex,Spaces,Letters,我试图用jQuery做一个名称字段过滤器,我尝试了很多正则表达式,但没有一个能完全工作 我所需要的只是将name字段设置为name字段,而不是其他字段,例如Adam Jeremy Smith。那么就不可能键入$或/或u或~或0-9或其他任何内容了?如何做到这一点 我想应该是: /[^\\p{L}]+([^0-9])+$/ 是的,只有当你输入例如“Adam Je4”时,它才起作用,但是如果你继续写“Adam Je4remy”,它就不起作用,并且验证错误 如何实现它?答案是: /^答案是: /^[A

我试图用jQuery做一个名称字段过滤器,我尝试了很多正则表达式,但没有一个能完全工作

我所需要的只是将name字段设置为name字段,而不是其他字段,例如Adam Jeremy Smith。那么就不可能键入$或/或u或~或0-9或其他任何内容了?如何做到这一点

我想应该是:

/[^\\p{L}]+([^0-9])+$/

是的,只有当你输入例如“Adam Je4”时,它才起作用,但是如果你继续写“Adam Je4remy”,它就不起作用,并且验证错误

如何实现它?

答案是: /^答案是:
/^[A-z\s]+$/

如果您将名称定义为由一个或多个单词组成的东西,用空格分隔,其中每个单词由一个或多个字母组成,并以大写字母开头,那么它的书写方式类似于

/^[A-Z][a-z]+(\s+[A-Z][a-z]+)*$/
但是它实际上要复杂得多,请看——它不仅仅是关于字母的(
\p{L}
在您的示例中;顺便说一句,JS不支持属性unicode类,您必须使用插件(比如)来实现这样的功能)

例如,您是否允许在您的姓名中使用撇号?如果是这样,它们怎么可能被使用(也许没有名字有两个撇号,像这样——<代码>我的‘伊万诺夫’< /代码>?连字符如何?不同的资本化规则:例如,你会考虑一个真实的名字吗?等等……/P>
关键是你必须平衡你实际期望看到的东西和你的正则表达式的复杂性。

如果你把名字定义为一个由一个或多个单词组成的东西,用空格隔开,每个单词由一个或多个字母组成,以大写字母开头,它写得像

/^[A-Z][a-z]+(\s+[A-Z][a-z]+)*$/
但是它实际上要复杂得多,请看——它不仅仅是关于字母的(
\p{L}
在您的示例中;顺便说一句,JS不支持属性unicode类,您必须使用插件(比如)来实现这样的功能)

例如,你会在你的名字中允许撇号吗?如果是这样的话(可能没有名字有两个撇号相近,像这个-<代码>我是伊万诺夫?< /代码>?连字符是什么?不同的资本化规则:你会考虑一个真实的名字吗?比如…等等……/P>
关键是你必须在你的正则表达式的复杂性和你实际期望看到的东西之间取得平衡。

严格限制这样的名字格式是一种不好的做法,因为它没有考虑到所有的情况——名字中有撇号和破折号的人,来自欧洲/亚洲国家使用附加字符的人s、 等等


有关更多信息,请参阅本文:

严格限制这样的名称格式是一种不好的做法,因为它没有考虑到各种情况——姓名中带有撇号和破折号的人,来自欧洲/亚洲国家使用附加字符的人,等等


有关更多信息,请参阅本文:

使用
/^[a-zA-Z]+$/
有什么问题?至少不要忘记使用撇号。周围有很多O'Brien。可能重复使用
/^[a-zA-Z]+$/
有什么问题?至少不要忘记使用撇号。周围有很多O'Brien。可能重复使用
[^0-9]
表示除
0-9
之外的所有内容。但用于链接到该文章的+1。
[^0-9]
意味着除了
0-9
之外的一切。但是+1用于链接到那篇文章。听起来很棒!我不知道js不支持unicode类!我来看看插件!谢谢你的回复!听起来很棒!我不知道js不支持unicode类!我来看看插件!谢谢你的回复!很遗憾它不能与Unicode字符(如俄语或日语)一起使用!我最终使用了PHP!不幸的是,它不能与Unicode字符(如俄语或日语)一起使用!我最终使用了PHP!