html5上传文件提交服务器前的一些前端验证。

我做的是app上传,要求.apk格式,并且小于20兆。由于html5不能认识apk的扩展名。所以自己写了一个获取扩展名的函数

html表单

<input  type="file" name="app_file" accept=".apk" onchange="processFiles(this.files)"></input>


JS代码

<script type="text/javascript">

//客户端限制文件大小类型
function processFiles(files)  //这里必须是files,传递过来一个files对象,是上传文件的集合
{
          var file = files[0];  //第一个文件
          fileExtName = getExtName(file.name);  //获取扩展名,调用下面的函数
          fileSize = file.size;   //直接可以取到
          if(fileSize > 20*1024*1024)   //拿到的单位为字节
      {
      alert('app最大长度为20兆,请重新上传');
      flag = false; //用来判断是否组织提交表单的默认事件
      }else 
      {
      flag = true;
      }
      if(fileExtName != '.apk')
      {
      alert('请上传正确的文件');
      flag1 = false;
      }else 
      {
      flag1 = true;
      }
     
    }
//拿到扩展名
function getExtName(str)
{
var index1=str.lastIndexOf(".");    //拿到最后一个.
var index2=str.length;    //字符串总长度
var postf=str.substring(index1,index2);//后缀名 .的位置截取到最后
return postf;
}
//判断是否阻止提交表单(需要先引入jquery)
$('#submit').click(function()     //submit需要在html的提交按钮加上 id ="submit"
{
if(flag1 == false || flag == false) return false;
});
</script>

猜你喜欢

转载自blog.csdn.net/wuye_lh/article/details/79668979
今日推荐