• JS验证上传的文件是否为音视频文件格式


    前情提要:


    页面上有个这个小需求。

    点击下方按钮,只能上传音视频。

    于是,已自己的想法,写了一个笨办法。

    没办法,自己对JS 还是七窍通六窍,一窍不通,好的业务逻辑,根本想不出来,

    不过能解决问题,就好,就好。


    业务需求:


      音视频文件格式,一共这些格式需要判断:

     【.avi,.wmv,.mpg,.mpeg,.mov,.rm,.ram,.swf,.flv,.mp4,.mp3,.wma,.avi,.rm,.rmvb,.flv,.mpg,.mkv

    代码过程:


    1、想法:因为需要判断的结尾格式,太多了,直接写在 if 判断里,太乱了。就先用数组装起来。

    //用来验证的后缀,如果还有其它格式,可以添加在right_type;
    var right_type = new Array("avi","wmv","mpg","mpeg","mov","rm","ram","swf","flv","mp4","mp3","wma","avi","rm","rmvb","flv","mpg","mkv")    

    2、获取到界面上 上传的值,进行简单的处理。

    注意点:

    要进行 .match(/^(.*)(.)(.{1,8})$/)[3] 正则表达式 匹配处理,其中 value 不能为空字符串或null
    match(/^(.*)(.)(.{1,8})$/)[3] 正则表达式的具体分析,已单开一篇写了。

    这里需要了解自行点击下方文章链接:

    JS中,正则表达式:match(/^(.*)(.)(.{1,8})$/)[3]分析

    if(document.getElementById("video").value!=''){
       type = document.getElementById("video").value.match(/^(.*)(.)(.{1,8})$/)[3];
    //防止出问题,把获取到的所有结尾格式,全部转化为小写
       type = type.toUpperCase();
    }

     

    3、用获取到的上传值,和需要验证的 音视频结尾格式,进行判断。

    function isCon(arr, val){ 
        for(var i=0; i<arr.length; i++){ 
            if(arr[i] == val) 
                return true; 
            }
                return false; 
    }
    var result = isCon(right_type, type);
    //可以打印开看结果,是布尔类型(Boolean),也就是: true 或 false
    console.log(isCon(right_type, type)); 

    4、最后判断完,就可以进行业务逻辑了。

    if(result == false){
        alert("请检查您上传的文件是否为音视频");  
             return false;
     }else{ 
         //这里就可以写正常的业务逻辑了         
     }

    参看文档:

    1.  js验证上传的文件是否为JPEG,PNG,JPG,GIF格式。

    2.  JS判断上传文件类型

    3.  js判断上传文件类型判断FileUpload文件类型代码

    by不言谢

    不要和别人比,要赢得是自己。(ง •̀_•́)ง
  • 相关阅读:
    ffmpeg filter过滤器 基础实例及全面解析
    gcc的memcpy性能测试
    repo基本操作
    repo或者git diff -uno差异文件全路径备份
    cmake视频教程
    Rust Macro assert!
    Rust迭代器测试
    钟南山每天喝牛奶
    查网页的最后修改时间
    王勃学习车辆超速监测管理系统
  • 原文地址:https://www.cnblogs.com/byx1024/p/13345355.html
Copyright © 2020-2023  润新知