0
我已经有了一个脚本,它从表单上的文件输入中获取文件名,并在剥离掉一些不需要的细节后将其放入文本字段中。Javascript - 删除部分字符串。
我上传的所有文件都会用一个关键词
注意,这是一个Chrome扩展,以便X浏览器的支持是没有必要的标记。
var filename = $("uploaded_data").val().toLowerCase();
filename = filename.replace(/_/g, " ").replace(/-/g, " ").replace("c:\\fakepath\\", "");
type_index[1] = filename.indexOf("red");
type_index[2] = filename.indexOf("blue");
type_index[3] = filename.indexOf("green");
type_index[4] = filename.indexOf("purple");
type_index[5] = filename.indexOf("magenta");
for (i=0 ; i > -1 ; i++) {
if (type_index[i] > -1)
{
filename_final = filename.substring(type_index[i]);
break;
}
}
$("#material_title").val(filename_final);
现在这段代码工作正常,但是,我不希望颜色成为文件名的一部分。 例如,如果输入文件被称为'test_red_name_low.jpg',那么文本字段应该是'name low.jpg'。目前,上面的代码输出'red name low.jpg'。其他时候,文件名可能是'this_is_a_test-blue_happy.jpg',它应该输出'happy.jpg'。
type_index数组最终将保存大量的值,因此替换将是一个非常漫长的过程。
对此有何建议?
这很好。我唯一的保留意见是,我可能有数百种颜色,并且必须键入它们才会使脚本难以管理。有没有办法可以使用type_index数组来选择修剪文件名的点? – AntonCooper
是的。从type_index中查找最高值。然后在该索引之后找到第一个空格。将其存储为新索引。在这个新索引之后取一个子串。 –