我有一个文件类型的输入,我的问题是:选择文件后,文件名可以限制为一定数量的字符吗?
问问题
4149 次
4 回答
2
您可以使用获取文件名
var filename = document.getElementById('file-id').value;
filename = filename.replace(/^.*[\\\/]/, '');
但从某种意义上说,上传文件后,您可以使用上述方法获取文件名。
然后你可以拥有
if (filename.length < 100 ) {
//do something
}
仅供参考:只有在文件上传到客户端后才会发生错误的事情。在上传到服务器之前限制文件路径是没有用的。
于 2013-11-07T15:26:18.777 回答
1
你的意思是这样吗?
var limit = 8;
var fileName = document.getElementById("file-name-field").value();
// get both parts
var fileNameExtension = "." + fileName.split(".").pop();
var fileNameBase = fileName.substring(0, fileName.length()-fileNameExtension.length());
if(fileNameBase.length()>limit){
// now limit it and set it as fileName
fileName = fileNameBase.substring(0, limit) + fileNameExtension;
}
于 2013-11-07T15:38:11.650 回答
0
大多数浏览器不允许修改文件字段的值属性。这是一个安全漏洞,因为它允许恶意页面使用隐藏字段检索任意文件。
于 2013-11-07T15:26:54.953 回答
0
请尝试使用 JavaScript 检查文件名的长度。
function valueCheck()
{
var filePath = document.getElementById("file").value;
var fileName = filePath.replace(/[^\\\/]+$/, "");
if(fileName !=null && fileName.length >10)
{
alert('Filename if bigger');
}
}
演示网址:http: //jsfiddle.net/BhaveshKachhadiya/6EPvg/6/
于 2013-11-07T15:34:59.430 回答