这可能很简单,但我不怎么做。正则表达式javascript中的问号
我有这样的正则表达式:
new RegExp("^[A-Za-z\\u00C0-\\u017F][\\- ]?+$");
它验证一个名字。名字必须以一个字母开始(范围是unicode并且工作正常),然后继续使用字母或空格。但它可以只是字母,就像大多数名字一样。
我已经搜查,但我没有发现这样做的正确方法。
我不想重复字符范围。这只是让代码更“适当”。
如果你能帮助,它会提前
这可能很简单,但我不怎么做。正则表达式javascript中的问号
我有这样的正则表达式:
new RegExp("^[A-Za-z\\u00C0-\\u017F][\\- ]?+$");
它验证一个名字。名字必须以一个字母开始(范围是unicode并且工作正常),然后继续使用字母或空格。但它可以只是字母,就像大多数名字一样。
我已经搜查,但我没有发现这样做的正确方法。
我不想重复字符范围。这只是让代码更“适当”。
如果你能帮助,它会提前
是巨大的:)
感谢现在你只允许一个字母,然后一个或多个破折号/空间。你可能想要
new RegExp("^[A-Za-z\\u00C0-\\u017F][A-Za-z\\u00C0-\\u017F -]*$");
但一般来说,试图用正则表达式验证名称是不是这样一个好主意。
你的表情说:“一个字母,然后任选任何一个破折号或一个空间”,那么如果我理解正确的话,'+'是错误的语法,虽然JavaScript是经常宽容,所以......也许文字上的'+'? –
如果你想要写一个'(?:快|清洁|正确|高效)'正则表达式,阅读(学习):精通正则表达式(第3版(http://www.amazon.com/Mastering-Regular -Expressions - 杰弗里 - 弗里德尔/ DP/1565922573),当谈到学习正则表达式,没有捷径可走。 – ridgerunner
谢谢ridgerunner – Emilie