javascript - 使用 javascript 将 URI 中的反斜杠更改为正斜杠

标签 javascript regex escaping

我正在编写一个允许用户导入图片的应用程序。我正在运行 Windows,因此当用户选择图片时返回的文件路径有反斜杠,我认为这就是当我将路径传递给导入方法时导致 javascript 失败的原因。 我通过简单的 html 文件输入获取文件路径,并使用提交按钮和对我的 javascript 的 onclick 调用:

 <input type="file" id="photo-to-import" />
 <input type="button" value="Submit" onclick="console.log($('#photo-to-import').val().replace('/\\/g','/'))"/>

console.log 通常是函数调用所在的位置,我已更改它以进行调试。如果我在图片的文件路径中进行硬编码并手动更改斜杠,则会导入图片,例如,我将复制/粘贴路径:

C:\Users\Name\Desktop\desktop app\images\imageName.png

进入函数并更改我最终得到的斜杠:

<input type="button" value="Submit" onclick="onPhotoURISuccess('C:/Users/Name/Desktop/desktop app/images/imageName.png')"/>

这效果很好。我已经尝试过

.replace('\\\\', '/')
.replace('\\', '/')
...

并且总是得到完全相同的输出,字符串每次都不变。

最佳答案

replace('/\\/g','/') 更改为 replace(/\\/g,'/'),并使用您的引号将尝试替换字符串 '/\\/g' 的文字匹配,而不是使用正则表达式文字。

例如,'foo/\\/g bar'.replace('/\\/g','/')将为您提供'foo/bar' code> 和 'C:\\Users\\Name\\Desktop\\desktop app\\images\\imageName.png'.replace(/\\/g,'/') 将给你'C:\Users\Name\Desktop\desktop app\images\imageName.png'

关于javascript - 使用 javascript 将 URI 中的反斜杠更改为正斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17076309/

相关文章:

javascript - React - 无法读取未定义的属性 'call'

php - 在 PHP 中使用正则表达式查找并替换 "["和,或 "]"

php - HTML 使用 PHP(和 ZF)转义用户提供的数据的最佳实践

objective-c - 使用 Xcode 4.4 在 Objective C 中换行

ruby - 如何输出转义字符?

javascript - 如何在 Windows Phone 7 上检查 HTML5 视频是否已结束?

javascript - JSON 到 JQuery : What am I doing wrong?

javascript - 当外部源(firebase)更改单元格时,如何触发谷歌表格中的谷歌应用程序脚本?

java - String replaceAll(,) 方法 Java 的不区分大小写的变量

java - 如何只替换部分匹配的子串?