如何为名称编写模式,如果需要,该模式只能包含由单个空格分隔的字母?如果有多个名称,则必须用一个空格分隔。
例如,
"Jane Doe"
和"Jane"
是正确的,但" Jane"
或"Jane "
或"Jane Doe"
都不正确。
我的模式,
/^([A-za-z]+ ?[A-za-z]+){1}$/
答案 0 :(得分:2)
如果我理解正确的话,试试这个:
/^[A-Za-z]+(\s[A-Za-z]+)?$/
答案 1 :(得分:1)
您的正则表达式未检查完整的大写字母范围(A-z必须为A-Z)
注意:这是假设您的问题包含拼写错误,事实上“Jane Doe”或“Jane Doe”不正确。
var patt=new RegExp(/^([A-Za-z]+ ?[A-Za-z]+){1}$/);
document.write(patt.test(" Jane Doe") + '<br/>'); --false
document.write(patt.test("Jane Doe") + '<br/>'); --true
document.write(patt.test(" Jane") + '<br/>'); -- false
document.write(patt.test("Doe ") + '<br/>'); -- false
document.write(patt.test("Doe") + '<br/>'); -- true
请参阅小提琴:http://jsfiddle.net/FEycT/4/