有没有办法限制输入类型文件中的字符数

时间:2013-11-07 15:19:06

标签: javascript jquery file-upload input

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

4 个答案:

答案 0 :(得分:2)

您可以使用

获取文件名
var filename = document.getElementById('file-id').value;
filename = filename.replace(/^.*[\\\/]/, '');

但在意义上的限制,在上传文件后,您可以使用上述方法获取文件名。

然后你可以

if (filename.length < 100 ) {
  //do something
}

仅供参考:只有在客户端上传文件后才会发生Evert事件。在上传到服务器之前限制文件路径是没有用的。

答案 1 :(得分: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;
}

答案 2 :(得分:0)

大多数浏览器不允许修改文件字段的value属性。这是一个安全漏洞,因为它允许恶意页面使用隐藏字段检索任意文件。

答案 3 :(得分: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/