我有一个用于输入名称的文本字段。此处不允许使用数字或标点符号。只允许使用字母和破折号,也允许使用 é、è、à、ç、... 等字母
我需要使用哪个正则表达式?
我有一个用于输入名称的文本字段。此处不允许使用数字或标点符号。只允许使用字母和破折号,也允许使用 é、è、à、ç、... 等字母
我需要使用哪个正则表达式?
如果您要排除的字符列表很小,您可能应该使用类似
[\d\.,;]
+ 您要排除的任何其他标点符号/非单词标记(`,',(,) 等似乎是合理的候选者,其中一些需要转义 - 可能应该为整个 shebang审查这样的网站),并根据您的文字进行检查。如果弹出,验证失败。上面的括号形成了所谓的字符类或字符集。如果您应用正则表达式修饰符(+、?、. 等),该类将匹配它们之间发生的任何事情一次 - 更多或更少次。
工作演示 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,'');
图片