2

我有一个文件类型的输入,我的问题是:选择文件后,文件名可以限制为一定数量的字符吗?

4

4 回答 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 回答