0

2013_09_北京.docまたは2013_09_广东_1.docまたはの可能性があるファイル名を確認したいのですが、チェックされていることが2013_09_中国人_anywords.docわかりました2013_09_北京.docが、2013_09_广东_1.doc間違っているようです。私のコードの何が問題なのですか?

 // fileName='2013_09_北京.doc';// right
 fileName='2013_09_北京_1.doc';// wrong
var patt1 = new RegExp("^2013_(0[1-9]|1[0-2])_([\\u4e00-\\u9fa5]{2,3})(_[\S]*)?\.(doc)$");
        if (!patt1.test(fileName)) {
         alert('input format like 2013_09_北京.doc或2013_09_北京_1.doc’);
        }
        else
        alert('right format!');
4

1 に答える 1

2

\S と \ をエスケープしていません。あなたの文字列で、これはそれを修正するはずです:

var patt1 = new RegExp("^2013_(0[1-9]|1[0-2])_([\\u4e00-\\u9fa5]{2,3})(_[\\S]*)?\\.(doc)$");
于 2013-11-11T11:23:25.600 に答える