我必须验证一个输入,目前我最简单的方法是通过一个正则表达式。没有小数字的单词字符
我想检查所有可能出现在名字中的字符,因此应该允许像ü这样的特殊字符,就像Schüssler一样。但数字不应该被允许,否则我会用\ w。
所以我试图匹配除数字和_之外的所有单词字符,但是我无法使其工作。 那么有人可以告诉我如何做这项工作(如果可能的话),还是给我另一个解决方案,不涉及所有可能允许的特殊字符?
我必须验证一个输入,目前我最简单的方法是通过一个正则表达式。没有小数字的单词字符
我想检查所有可能出现在名字中的字符,因此应该允许像ü这样的特殊字符,就像Schüssler一样。但数字不应该被允许,否则我会用\ w。
所以我试图匹配除数字和_之外的所有单词字符,但是我无法使其工作。 那么有人可以告诉我如何做这项工作(如果可能的话),还是给我另一个解决方案,不涉及所有可能允许的特殊字符?
这将捕捉浪漫语言的大部分口音。如果你需要更多的,将它们添加:
/^[a-záéíóäëiöúàèììù]+$/i
OP还希望匹配变音符号和重音字符,它们没有很好的“ä-ÿ”范围。 – Blender 2012-02-09 16:42:14
为什么不能反其道而行之,检查只的东西,你不想:
if (!name.match(/[0-9_]/g)) {
// Name has no underscores or digits. Keep validating
} else {
// Ask the user why they have digits in their name
}
Downvoter,展现你自己。解释为什么我的答案无效会很好。 – Blender 2012-02-09 16:57:47
允许哪些特殊字符?你有一个反向范围(指定不允许的字符),但这大概是一个更难的任务,因为它会允许所有类型的符号和其他垃圾不能成为名称的一部分。 – 2012-02-09 16:47:45
如果您使用的是正则表达式,只需指定有效字符列表可能是最容易的。 – 2012-02-09 16:48:07
http://www.regular-expressions.info/screens/rxbcharclass.png 没有小数和_的西欧变体基本 – Johan 2012-02-09 16:48:37