1

如果需要,如何为只能包含由单个空格分隔的字母的名称编写模式?如果有多个名称,则它们必须用一个空格分隔。

例如, "Jane Doe"and"Jane"是正确的,但是," Jane"or "Jane "or"Jane Doe"都是不正确的。

我的图案,

/^([A-za-z]+ ?[A-za-z]+){1}$/
4

2 回答 2

2

如果我对你的理解正确,试试这个:

/^[A-Za-z]+(\s[A-Za-z]+)?$/
于 2012-11-08T04:52:14.933 回答
1

您的正则表达式没有检查完整的大写字母范围(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/

于 2012-11-08T04:52:24.057 回答