0

我想检查我的文件名,它可以是2013_09_北京.docor2013_09_广东_1.doc2013_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 回答