jquery字符串替换

时间:2011-05-03 18:06:26

标签: jquery

需要帮助,试图从IE9上传图像我得到一个C:fakepath / name_of_my_file

如何删除此C:fakepath?

由于

if($('#ficheiro').val().search(/C:fakepath/)) {
                $('#ficheiro').val().val($('#ficheiro').val().replace('C:fakepath',''));
                nome.val('pics/'+$('#ficheiro').val());
            } else {
                nome.val('pics/'+$('#ficheiro').val());
            }

5 个答案:

答案 0 :(得分:6)

您可以使用它,它也会删除斜杠,只留下文件名。

$(this).val().replace(/C:\\fakepath\\/i, '');

答案 1 :(得分:5)

你不能简单地使用string的替换功能吗?

nome.val("pics/" + $('#ficheiro').val().replace("C:fakepath", ""));

答案 2 :(得分:1)

var path = new String($('#ficheiro')。val());
path = path.replace(" C:fakepath","");

答案 3 :(得分:0)

为您提供解决方案,首先检查浏览器是否为IE,然后使用encodeURI对所有文件路径和名称进行编码,您必须先执行此操作才能正确捕获未加标记的字符,如“\”。然后换掉,它为我工作:

var browserName=navigator.appName; 
if (browserName=="Microsoft Internet Explorer")
{
    var soloNombre = encodeURI(soloNombre);
    soloNombre = soloNombre.replace("C:%5Cfakepath%5C","");
    var soloNombre = decodeURI(soloNombre);
    alert(soloNombre);
}

像魅力一样。

答案 4 :(得分:0)

试试这个

$(function() {
     $("input:file").change(function (){
       var fileName = $(this).val().replace("C:\\fakepath\\", "");
     });
  });