JavaScript前端获取并校验上传文件后缀名的实现方法

作者:代码拾荒

时间:2026-10-27

浏览:637

本文介绍如何使用JavaScript在前端获取用户上传文件的路径,并通过字符串分割与截取操作提取文件后缀名。代码演示了将路径中的反斜杠替换为分隔符,进而分离文件名及后缀名的具体步骤。最后通过indexOf方法判断后缀名是否在允许的列表(如jpg、gif等)中,实现简单的文件类型校验逻辑。

文章目录

JavaScript文件后缀名校验代码实现

具体实现代码如下:

function lastname(){
// 获取用户选择的文件完整路径
var filepath = document.getElementById("file1").value;
// 由于Windows系统路径常包含反斜杠,为避免转义字符干扰,此处将其统一替换为井号
var re = /(\\+)/g;
var filename=filepath.replace(re,"#");
// 利用井号作为分隔符对路径字符串进行分割
var one=filename.split("#");
// 取分割后数组的最后一项,即为纯文件名
var two=one[one.length-1];
// 再次对文件名进行分割,以分离文件名主体与后缀名
var three=two.split(".");
// 获取分割后数组的最后一个元素,即为目标后缀名
var last=three[three.length-1];
// 定义允许上传的后缀名白名单字符串
var tp ="jpg,gif,bmp,JPG,GIF,BMP";
// 检查后缀名是否存在于白名单字符串中,返回其索引位置
var rs=tp.indexOf(last);
// 若索引大于或等于0,表示后缀名在白名单内,校验通过
if(rs>=0){
return true;
}else{
alert("您选择的上传文件不是有效的图片文件!");
return false;
  }
}

备注说明:


1. 首先将该脚本保存为独立的JS文件,并在包含上传功能的页面中引入该脚本;


2. 在上传页面的表单标签中添加 onsubmit="return lastname()" 属性以触发校验

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章