我被这个问题困扰了一段时间。这是有问题的代码的一部分:
jQuery(':file').change(function() {
var path = jQuery(this).val();
var filename = path.replace(/C:\\fakepath\\/, '');
jQuery(this).parent().find('.placetoshowfilename').html(filename);
});
我可以很好地获取文件路径,但是当我尝试使用正则表达式从中删除“C:\fakepath\”部分时,出现“未捕获的语法错误:无效的正则表达式:缺少/”错误。正则表达式应该是正确的,不是吗?你能告诉我,我做错了什么吗?提前致谢!
(这是 WP,这就是 jQuery 处于安全模式的原因。)
编辑:好吧,它在 JSFiddle 中工作,并且突然开始在我的页面上工作。但我仍然不知道罪魁祸首是什么。
最佳答案
var filename = path.replace(/C:\\fakepath\\/, '');
使用提取名称而不是删除路径:
var filename = path.match(/[^\\/]*$/)[0];
关于javascript - 无法使用 javascript 替换和正则表达式删除 "C:\fakepath\",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37028799/