所以,我要做的是在发送到服务器端(php)的其他验证之前使用 javascript/jquery 验证文件扩展名。
我知道这里有很多资源,但是,我正在尝试以自己的方式制作。
我达到了一个简单的想法,就像上面的代码:
// remove all elements to take only the file name
var fileName = $('input[type=file]').val().split('\\').pop().toLowerCase();
validExtension = ['.jpg', '.png', '.gif','.jpeg']; // list of valid extensions
$.each(validExtension, function (e, val) { // run thru all valid extensions
if (fileName.indexOf(val) !== -1) { // if found a valid one, stop validation.
invalidExt = false;
return false;
} else { // else, error true...
invalidExt = true;
}
});
if (invalidExt) {
alert('error');
}else{
alert('success');
}
问题是,如果文件.jpg
在名称中间有一个或任何其他有效扩展名,例如desert.jpg.exe
,验证将通过。那么,我该如何解决呢?
也许找到一种方法来获取文件名的最后一个扩展名?
当然,任何提示,请成为我的客人。
谢谢。