<input type="file" name="fileUpload" onchange="validate_fileupload(this.value);">
function validate_fileupload(fileName)
{
var allowed_extensions = new Array("jpg","png","gif");
var file_extension = fileName.split('.').pop().toLowerCase(); // split function will split the filename by dot(.), and pop function will pop the last element from the array which will give you the extension as well. If there will be no extension then it will return the filename.
for(var i = 0; i <= allowed_extensions.length; i++)
{
if(allowed_extensions[i]==file_extension)
{
return true; // valid file extension
}
}
return false;
}
var upload=document.getElementById("upload");
var array=["video/mp4","image/png"];
upload.accept=array;
upload.addEventListener("change",()=>{
console.log(upload.value)
})
**验证输入的最佳方式,**如果无效,则清空输入。因此,无需在表单提交中再次验证...函数validate_fileupload(obj){ var fileName=obj.value; var allowed_extensions = new Array(“pdf”); var file_extension = fileName.split('.').pop().到小写();// split函数将文件名按点号拆分(.),和pop函数将弹出数组中的最后一个元素,这也将为您提供扩展名。如果没有扩展名,则它将返回输入文件名。
7条答案
按热度按时间sg24os4d1#
检查
value
属性:在jQuery中(因为你的标签提到了它):
字符串
或者在普通的JavaScript中:
型
insrf1ej2#
我的功能将检查用户是否选择了文件或没有,你也可以检查是否要允许该文件扩展名或没有。
试试这个:
字符串
ar7v8xwq3#
在Ravinders解决方案的基础上,这段代码停止了表单的提交。在服务器端检查扩展也是明智的。这样黑客就不会上传他们想要的任何东西。
字符串
ifmq2ha24#
至少在Firefox中,DOM检查器告诉我File输入元素有一个名为
files
的属性,你应该可以检查它的长度。字符串
3df52oht5#
这是我从一个论坛上得到的,希望对你有用。
字符串
sxpgvts36#
简单而强大的方式(动态验证)
将格式放在数组中,如“image/*”
个字符
dba5bblo7#
**验证输入的最佳方式,**如果无效,则清空输入。因此,无需在表单提交中再次验证...函数validate_fileupload(obj){ var fileName=obj.value; var allowed_extensions = new Array(“pdf”); var file_extension = fileName.split('.').pop().到小写();// split函数将文件名按点号拆分(.),和pop函数将弹出数组中的最后一个元素,这也将为您提供扩展名。如果没有扩展名,则它将返回输入文件名。
字符串