需求:通过浏览器获取文件,判断文件是否合法。
实现原理:校验基本上分为三种情况,基于文件全名、文件名、或者扩展名进行校验。
核心代码:
var inputFileValue = ... //获取到fileInput的值;
var fullFileName=form1.file.value.match(/([^\\^\/^\:^\?^\|^\<^\>^\|])*(\.)(.{1,8})$/)[0];//获取文件全名
var fileName=fullFileName.match(/[^\.]+/)[0];//文件名,不带点和后缀
var type=form1.file.value.match(/^(.*)(\.)(.{1,8})$/)[3];//文件类型
后面就比较简单了,根据业务逻辑进行判断就行了。