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

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

html表单

<input  type="file" name="app_file" accept=".apk" οnchange="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>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值