如何检查javascript中是否选择了JSON文件?

如何检查javascript中是否选择了JSON文件?,javascript,regex,Javascript,Regex,如何使用javascript中的match()函数检查是否从浏览器中选择了JSON文件 以下代码段用于检查图像文件: <script> var f=evt.target.files[0]; // Only process image files. if (!f.type.match('image.*')) { alert('Please select Image Files only!'); } </script> var f=evt.target.files[0

如何使用javascript中的
match()
函数检查是否从浏览器中选择了JSON文件

以下代码段用于检查图像文件:

<script>
var f=evt.target.files[0];
// Only process image files.
if (!f.type.match('image.*')) {
  alert('Please select Image Files only!');
}
</script>

var f=evt.target.files[0];
//仅处理图像文件。
如果(!f.type.match('image.*')){
警报('请仅选择图像文件!');
}

我希望JSON文件也是如此。

8年后,答案如下:

document.querySelector('input').onchange=function({target:{files:[file]}){
if(file.type!=“application/json”){
警报('请仅选择JSON文件!');
这个值=“”;
返回;
}
//用于显示文件的内容
const reader=new FileReader();
reader.onload=({target:{result}})=>console.log(result);
reader.readAsText(文件);
};

警报(f.type)
并查看它的内容。它显示一个空字符串(空白)注意,您可以通过此函数传递任何类型的文件,只需给它一个
.json
扩展名。您仍然需要验证文件服务器端的内容。类似地,如果有效的JSON文件没有
.JSON
扩展名,它将拒绝这些文件。在内容上调用
JSON.parse
,并检查它是否抛出错误,这是避免客户端出现文件扩展名问题的最可靠方法。@GirkovArpa也许最好将此添加到答案中。此外,是否存在此解决方案可以使用的特定浏览器,或者它与浏览器无关?