使用JavaScript确定文件的存在?

时间:2011-03-21 17:17:48

标签: javascript

我有一个由JavaScript生成的文件夹/文件树,其中每个文件夹和文件都有复选框输入,其中包含与之关联的路径,例如:

/var/www/site/user/folder7/ or
/var/www/site/user/folder7/file.txt or
/var/www/site/user/folder7/file.? (? being any file extension)

在这些路径的情况下,我只需要

/var/www/site/user/folder7

我知道通常删除文件名会使用以下内容:

var full_path = node.context.nextElementSibling.value;
var folder_target_path = full_path.substring(0, full_path.lastIndexOf("/"));

但是这会返回:

/var/www/site/user/folder7 or
/var/www/site/user

如果我可以使用一些正则表达式来查找,我可以使用lastIndexOf()方法。然后到最后'/';但是我对javascript很新,从未使用过正则表达式。

在所有情况下,您能建议一种有效的方法来获取文件夹而不是文件路径吗?

此致 史蒂夫

3 个答案:

答案 0 :(得分:0)

这是关于JavaScript和正则表达式的W3教程:

http://www.w3schools.com/jsref/jsref_obj_regexp.asp

答案 1 :(得分:0)

var folder_target_path = full_path.replace(/ \ / [^ \ /] * $ /,'');

将删除最后一个/及其后的任何内容。我认为你可以通过从字符串创建一个Regexp对象来避免转义模式中的/。

答案 2 :(得分:0)

要完全开始工作,我需要使用以下内容:

     var full_path = node.context.nextElementSibling.value;
     var folder_target_path;

     var pathRE = /\./;
     if (full_path.match(pathRE)){
        folder_target_path = full_path.replace(/\/[^\/]*$/, '');
     } else {
        folder_target_path = full_path;
     }

这与包含的路径匹配。 (指定文件扩展名开始的句点)然后使用full_path.replace(/ \ / [^ \ /] * $ /,'')删除文件名;否则不要修改完整路径。

感谢所有人!

此致 史蒂夫