正则表达式适用于Firefox但不适用于Chrome?

时间:2016-10-17 17:22:08

标签: javascript jquery regex google-chrome firefox

我有正则表达式来检查文件名。到目前为止在Firefox中运行良好,但是当我在Chrome中测试时,我的正则表达式触发了if语句,该文件名称正确。这是我的正则表达式:

if(!/^[a-z0-9_.@() -]+\.[^.]+$/i.test(fileName)){
    alert("Your file name has an invalid character.");
}

仅当文件名称无效时才会显示警报。就像我说的那样,这个文件my test.txt可以在Firefox中运行但是在chrome警报中被触发了。如果有人知道为什么会这样,请告诉我。谢谢。

1 个答案:

答案 0 :(得分:1)

所以我找到了解决问题的方法。除了文件名,我不得不删除所有内容。我用了这段代码:

var fileName = $('#fileUpload').val().split('\\').pop();

这将产生:my test.txt,如果我没有使用.split('\\').pop()我的文件anme将如下所示:C:\fakepath\my test.txt