javascript - 无法使用 javascript 替换和正则表达式删除 "C:\fakepath\"

标签 javascript jquery regex

我被这个问题困扰了一段时间。这是有问题的代码的一部分:

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/

相关文章:

java - 如何只允许三个字符

javascript - 如何在行为主题上抛出错误并继续流?

javascript - jquery-mobile 的 ListView 中有两个弹出窗口?

javascript - 比较javascript中的 float 并更改最高点的颜色

javascript - 未定义不是状态数组中的对象,正在尝试查找状态数组长度

javascript - 如何通过滚动按钮触发打开新标签页

javascript - XML解析远程服务器

javascript - 替换 html 中的文本并保留事件

java - 从值中包含空格的字符串中提取键值

regex - vbscript函数清理字符串只允许某些字符