2012-02-15 16 views
19

正規表現の助けが必要です。私はexにスペースがあるアルファベットしか許さない式が必要です。大学名。空白を含むアルファベットの正規表現

私が使用しています:

var regex = /^[a-zA-Z][a-zA-Z\\s]+$/; 

が、それは働いていないし。

+0

'あなたの正規表現で\\ S'は、単に' \のS'でなければなりません。 –

+4

あなたが忘れてはならない2つの事柄:1. Petarの答えを受け入れます(そしておそらく、+のために*を編集します;これは空の文字列と今一致します)。 2.これはjavascriptと表示されているので、サーバー上の入力も確認してください。人々はjavascriptを無効にして、あなたのサーバに何かを投稿することができます。 Javascriptのチェックは、不正な入力からあなたのアプリを保護するための即時のフィードバック*ではありません。 –

答えて

45

ただ、[]にスペースを追加します。

var regex = /^[a-zA-Z ]*$/; 
+3

は空白文字のみを持つ正規表現 –

+1

でもマッチしますが、これはアルファベットのない空白のみのフィールドも受け付けます。この状態を回避する方法は? –

+0

trim()関数を使用する –

13

これは動作します:

[a-zA-Z][a-zA-Z ]+ 
+3

最初は、2つのグループが重複していると感じましたが、入力がアルファベットのcaracterで始まるように強制する利点があることがわかりました。 +1されました。ありがとう! – stefgosselin

-1

これは、冒頭にスペースと受け入れる文字、数字、および特殊文字を許可しないために動作します

/(^\w+)\s?/ 
+0

OPは例として 'college name'を提供していて、あなたの正規表現は最初の単語だけに完全に一致しません。これは 'word @ $%&/ 'にも一致するはずです。 – Mariano

0

これにより、文字間のスペースが許され、数字や特殊文字ters。また、開始と終了のスペースも許されません。

[a-zA-Z][a-zA-Z ]+[a-zA-Z]$ 
+1

件名のテキスト全体を検証するには、それを'^'にアンカーする必要があります。そして、あなたはそれが1文字だけで構成される文字列を許可しないことを言及したいかもしれません。また、コードの書式設定を使用してください – Mariano

+0

これは、行の先頭にスペースを許可します – Diego

0

これは、空白だけでなく、間にスペースを含むアルファベットの入力を受け入れます。また、単一の文字入力を行うためにも機能します。

[-ZA-Z] +([\ s]は[-ZA-Z] +)*

+0

試しましたか?スペースを取ることはできません。しかし、それは 'a; bb、cc:d.eee?f§gga'と一致します – Toto

+0

それを指摘してくれてありがとう。少し修正して答えを編集しました。 –

関連する問題