0

我有一个用于输入名称的文本字段。此处不允许使用数字或标点符号。只允许使用字母和破折号,也允许使用 é、è、à、ç、... 等字母

我需要使用哪个正则表达式?

4

2 回答 2

0

如果您要排除的字符列表很小,您可能应该使用类似

[\d\.,;]

+ 您要排除的任何其他标点符号/非单词标记(`,',(,) 等似乎是合理的候选者,其中一些需要转义 - 可能应该为整个 shebang审查这样的网站),并根据您的文字进行检查。如果弹出,验证失败。上面的括号形成了所谓的字符类或字符集。如果您应用正则表达式修饰符(+、?、. 等),该类将匹配它们之间发生的任何事情一次 - 更多或更少次。

于 2012-06-06T12:11:25.827 回答
0

工作演示 http://jsfiddle.net/zCZdX/3/ 更新 了 http://jsfiddle.net/48JW4/

好链接:http ://www.hanselman.com/blog/InternationalizedRegularExpressions.aspx

假设您将添加空格和破折号,就像您提到的那样,这应该足以满足您的需要。

希望这对您有所帮助并添加图像以方便您。

也请开始接受答案,否则每个人都会士气低落以提供帮助而没有任何来自OP的热情:)

哦,请阅读:JavaScript validation issue with international characters

代码(休息随意玩小提琴)

this.value = this.value.replace(/[^\w\-\s\dÀÈÌÒÙàèìòùÁÉÍÓÚÝáéíóúýÂÊÎÔÛâêîôûÃÑÕãñõÄËÏÖÜäëïöüçÇßØøÅåÆæÞþÐð]+$/g,'');

图片

在此处输入图像描述

于 2012-06-06T12:18:59.930 回答