我有一个来自遗留系统的 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/