1

必要に応じて、単一のスペースで区切られた文字のみを含む名前のパターンを作成するにはどうすればよいですか? 複数の名前がある場合は、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 に答える