javascript - 使用 javascript 将反斜杠转换为正斜杠无法正常工作?

标签 javascript backslash slash

我有一个来自遗留系统的 javascript 变量,带有反斜杠到正斜杠:

'/46\465531_Thumbnail.jpg'

我正在尝试转换成这样:

'/46/465531_Thumbnail.jpg'

没有办法在遗留系统上解决这个问题。

这是我在 IE8 浏览器上运行的命令:

javascript:alert("/46\465531_Thumbnail.jpg".replace(/\\/g,"/"));

作为我得到的回应:

---------------------------
Message from webpage
---------------------------
/46&5531_Thumbnail.jpg
---------------------------
OK   
---------------------------

其实我只是想翻译成'/46/465531_Thumbnail.jpg'

怎么了?

最佳答案

您需要在字符串常量中加倍反斜杠:

alert("/46\\465531_Thumbnail.jpg".replace(/\\/g,"/"));

如果您的遗留系统实际上是在您的页面上创建 JavaScript 字符串常量,并带有嵌入的、未加引号(即,未加倍)的反斜杠,那么它已经损坏,您将遇到问题。但是,如果您通过 XML 或 JSON 或其他任何形式的某种 ajax 调用获取字符串,那么您的代码看起来没问题。

关于javascript - 使用 javascript 将反斜杠转换为正斜杠无法正常工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6417641/

相关文章:

.htaccess - 通过 .htaccess 从 URL 中删除双斜杠或更多斜杠的问题

php - "I' m "becomes "I\'m"在 PHP 中? (为什么要添加斜杠?)

javascript - 为什么 Date.now() | 0 与 Date.now() 不同

javascript - 如何在 Ionic 本地存储中高效存储数据,而不需要每次都转换对象?

javascript - d3 对立图表 Axis 对齐问题

C++ 字符串函数只返回某些字符

uri 参数中带斜杠的 Rest 模板

javascript - 为什么必须使用 window.onload 将图像绘制到 Canvas 上

regex - CMake:如何在 Regexp 替换中获取反斜杠文字?

java - 如何使用 Maven 转义过滤后的属性文件中的反斜杠?