2012-04-04 7 views
0

文字フィールドとスペースのみを許可するようにテキストフィールドを検証しています。文字とスペースのみを許可する - jqueryバリデーションプラグイン

jQuery.validator.addMethod("lettersonly", function(value, element) { 
    return this.optional(element) || /^[a-z]+$/i.test(value); 
}, "Please enter only letters"); 

しかし、正規表現は、単語の間にスペースを許可されていません。

これは、私が使用しています方法です。

私が試した: /^[a-z ]+$/i.test(value)/^[a-z\s]+$/i.test(value)

jQueryのバージョン - 1.7.1

答えて

9

を正規表現は次のとおりです。

^[a-z\s]*$ 

LIVE DEMO

+0

文字クラスに入っているときに '|'が必要ですか?私はそれが文字クラスのポイントだと思った。 – jbabey

+0

@jbabey。あなたは正しい、気づかなかった!固定しました、ありがとう! – gdoron

+0

このような表現の問題は、 '[]'クラスが実際にすべての文字が実際に使用されていることを必ずしも意味しないということです。たとえば、上記の例では、100個の改行で構成される文字列を受け入れます。これがOPの本当の意味なのか分かりません。 – georg

0
jQuery.validator.addMethod("lettersonly", function(value, element) { 
    return this.optional(element) || /^[a-zA-Z\s]*$/.test(value); 
},"Please enter only letters"); 

repla CEこの:このことにより、/^[a-z\s]+$/i

/^[a-zA-Z\s]*$/

私はそれが動作確認しました。

関連する問題