我试图与jQuery的名称字段过滤器,我试过很多的正则表达式,没有他们的工作充分。
所有我需要的是使名称字段名称字段 - 闲来无事,如亚当·斯密杰里米例如。 所以就没有可能键入$或/或_或〜或0-9或别的什么吗? 这个怎么做?
我想这应该是:
/[^\\p{L}]+([^0-9])+$/
是啊,如果你键入比如“亚当JE4”它仅适用,但如果你继续写“亚当Je4remy”它不工作,并验证其是否有误?
如何实现呢?
我试图与jQuery的名称字段过滤器,我试过很多的正则表达式,没有他们的工作充分。
所有我需要的是使名称字段名称字段 - 闲来无事,如亚当·斯密杰里米例如。 所以就没有可能键入$或/或_或〜或0-9或别的什么吗? 这个怎么做?
我想这应该是:
/[^\\p{L}]+([^0-9])+$/
是啊,如果你键入比如“亚当JE4”它仅适用,但如果你继续写“亚当Je4remy”它不工作,并验证其是否有误?
如何实现呢?
如果你定义的名称something that consists of 1 or more words, separated by spaces, where each word consists of one or more letters, and starts with uppercase
,这是写像...
/^[A-Z][a-z]+(\s+[A-Z][a-z]+)*$/
但是,它实际上要复杂得多,看到的-它不仅是关于字母( \p{L}
在你的榜样; BTW,财产的unicode类不被JS的支持,你必须使用插件(如这一个 ,例如)到实现这样的功能)。
例如,你可以让你的名字撇号? 如果是这样,如何对它们进行使用(可能没有名字有两个单引号接近,这样的- I''van Ivanov
什么连字符约大小写不同的规则是什么:??你会考虑布莱恩d FOY ?一个真正的名字,例如与等等...
问题的关键是,你必须权衡你真正希望看到与您正则表达式的复杂性。
严格限制名的格式一样,是不好的做法,因为它没有考虑到案件的种种 - 在他们的名字的人撇号和破折号,人谁使用其它字符等欧洲/亚洲国家。
请参见本文的详细信息: http://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/
答案是:/ ^ [AZ \ S] + $ /