如果需要,如何为只能包含由单个空格分隔的字母的名称编写模式?如果有多个名称,则它们必须用一个空格分隔。
例如,
"Jane Doe"
and"Jane"
是正确的,但是," Jane"
or "Jane "
or"Jane Doe"
都是不正确的。
我的图案,
/^([A-za-z]+ ?[A-za-z]+){1}$/
如果需要,如何为只能包含由单个空格分隔的字母的名称编写模式?如果有多个名称,则它们必须用一个空格分隔。
例如,
"Jane Doe"
and"Jane"
是正确的,但是," Jane"
or "Jane "
or"Jane Doe"
都是不正确的。
我的图案,
/^([A-za-z]+ ?[A-za-z]+){1}$/
如果我对你的理解正确,试试这个:
/^[A-Za-z]+(\s[A-Za-z]+)?$/
您的正则表达式没有检查完整的大写字母范围(Az 必须是 AZ)
注意:这是假设您的问题包含错字并且实际上“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/