jQuery的字符串替换
问题描述:
需要帮助这一点,试图上传从IE9的图像,我得到一个C:fakepath/name_of_my_filejQuery的字符串替换
如何删除这个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());
}
答
不能只需使用字符串替换功能?
nome.val("pics/" + $('#ficheiro').val().replace("C:fakepath", ""));
答
var path = new String($('#ficheiro')。val());
path = path.replace(“C:fakepath”,“”);
答
为你解决问题,先浏览IE浏览器,然后使用encodeURI编码所有的文件路径和名称,你必须先这样做才能正确捕获像“\”这样的unscaped字符。然后只是替换,它对我的工作:
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);
}
工程就像一个魅力。
+0
虽然我们感谢您在堆栈溢出方面所做的努力,但您可以谨慎使用复制和粘贴样板答案,因为这些答案往往会被标记为“垃圾邮件”。尝试并根据OP的具体问题和代码示例定制您的答案。谢谢。 – Kev 2011-05-30 22:28:51
答
你可以使用它,它也将删除斜杠,只留下文件名。
$(this).val().replace(/C:\\fakepath\\/i, '');
答
试试这个
$(function() {
$("input:file").change(function(){
var fileName = $(this).val().replace("C:\\fakepath\\", "");
});
});
没有工作,但这并 – Pluda 2011-05-03 19:04:52
如果(ficheiro.search(/ C:fakepath /)){ \t ficheiro = ficheiro.replace('C:fakepath ”, ''); \t nome.val(dominio +'/ pics /'+ ficheiro); \t \t \t \t}否则{ \t \t \t \t \t nome.val(DOMINIO + '/图片/' + ficheiro); \t \t \t \t} – Pluda 2011-05-03 19:05:13