2016-08-19 6 views
0

テキストボックスに商品や不具合を確実にしたいと思っています。ファイルの検証時に正規表現のスペースを許可する

例えば良いが、含めることができます:私は含めたくなかった

GoodString 
GoodString88 
99GoodString 

いくつか悪いことをした:私は許可したかった

Good*String 
Good&String 

しかし、一つのことは、単語の間にスペースができるようになりますので、これはうまくいっているはずです:

しかし、私のregex/jsはこれが良い文字列 - 私はそれを許可したい。私はこれのためのテストルーチンを使用しています私はあなたが正規表現と得ることができるように馬鹿です。私はこれらの事を理解することはできませんなぜ私は次のように私の検証があるいずれにしても

...知らない:

var rx = /^[\w.-]+$/; 

こうした:

var rx = /^[\w.-]+$/; 
if (!rx.test($("#MainContent_txtNewDocumentTitle").val())) { 
    //code for bad string 
}else{ 
    //code for good string 
} 

を、私はこのために何ができますかそのスペースは許されていますか?

答えて

4

あなただけの真ん中にスペースを許可する代わりに、この正規表現を使用することができます(開始/終了時):

var rx = /^[\w.-]+(?:[ \t]+[\w.-]+)*$/gm; 

RegEx Demo

正規表現の分裂:

^    # line start 
[\w.-]+  # match 1 or more of a word character or DOT or hyphen 
(?:   # start a non-capturing group 
    [ \t]+  # match one or more space or tab 
    [\w.-]+ # match 1 or more of a word character or DOT or hyphen 
)*   # close the non-capturing group. * will allow 0 or more matches of group 
$    # line end 
/gm   # g for global and m for multiline matches 

RegEx Reference

+0

私はそれを試してみましょう私は前にこれを持っていましたが、問題に遭遇しました。 – JonH

+0

これは私のために働いていなかった.... – JonH

+0

Oあなたがそれを編集して待って...もう一度試してみましょう。 – JonH

関連する問題