Javascript 如何使用正则表达式验证Json文件扩展名

Javascript 如何使用正则表达式验证Json文件扩展名,javascript,json,extjs,Javascript,Json,Extjs,我在EXTJS中有一个文件上传组件,用于从计算机上传文件。但是,我想将其限制为仅JSOn文件,因此除了JSOn文件扩展名之外的任何内容都会引发一些错误。现在,使用此函数,我可以获取单击要导入的文件名: new Ext.Container({ height: 100, width: 500, items: [

我在EXTJS中有一个文件上传组件,用于从计算机上传文件。但是,我想将其限制为仅JSOn文件,因此除了JSOn文件扩展名之外的任何内容都会引发一些错误。现在,使用此函数,我可以获取单击要导入的文件名:

    new Ext.Container({
                       height: 100,
                       width: 500,
                       items: [
                          this.fileUpload=  new Comp.form.FileUpload({

                            listeners: {
                                fileUpload: function(filename){
                                  //where filename= "abc.pdf"
                                 //pseudo code below for validation
                                  if (filename===.json) {
                                    console.log("uploaded");
                                    } else {
                                   console.log(“eror”)
                                 }
                                }
                            }
                          })
                       ],
                       scope: this
                     })

如何验证.json文件扩展名,是否可以通过Regex?谢谢

您可以使用带有正则表达式的以下函数来检查文件扩展名:

function isJSONFile (sFilename) {
    var regexJsonFile = new RegExp(".json$", "i");
    return regexJsonFile.test(sFilename);
}
  • 如果文件名字符串以json扩展名结尾,则函数返回true,否则返回false
或者直接在代码中:

if (filename.match(".json$", "i")) {
    //It's a json extension
} else {
    //It isn't a json extension
}
  • $字符仅用于检查字符串的结尾,而i参数不区分大小写

为什么不这样做,并验证文件内容是否解析为JSON?JSON被设计成可以安全地解析(比如,无法在JSON中嵌入可执行代码)。并非所有平台都将文件扩展名视为具有严肃意义。@user1234您的意思是像
/blabla/