原生Js对文件类型的判断,判断文件是图片,视频等格式
在我们开发中,会遇到这样的场景:
1.服务器返回Json数据,根据数据类型来显示是图片还是视频。
2.前端上传文件,需要指定文件类型才能上传到服务器。
这时候就需要使用Js来判断对应文件的类型了,我们常用的判断是通过后缀来实现的。
html结构如下:
<input type="file" id="file" onchange="test()"/>方案一:
步骤1:通过ID获取文件名的后缀:
function getSuffix(id){
var dom=document.getElementById(id).value;//根据id得到值
var index=dom.lastIndexOf(".")//得到最后一个"."在第几位
return dom.substring(index).toLowerCase(); //截断"."之前的,得到后缀[忽略大写]
}步骤2:判断文件是图片格式:
function test(){
var suffix=getSuffix('file');
if(suffix!=".bmp"&&suffix!=".png"&&suffix!=".gif"&&suffix!=".jpg"&&suffix!=".jpeg"){ //根据后缀,判断是否符合图片格式
console.log("不是指定图片格式,重新选择");
return false;
}
}方案二:
除了上面方法,我们还可以结合正则来判断如下:
function test(){
var ImgType=["gif", "jpeg", "jpg", "bmp", "png"];//图片
var dom=document.getElementById('file').value;//根据id得到值
if(!RegExp("\.(" + ImgType.join("|") + ")$", "i").test(dom.toLowerCase())){
console.log("不是指定图片格式,重新选择");
return false;
}
}本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!