前端替换/r/n和斜杠\ 急得很!!!正则替换shibai

李六木 2020-02-19 04:19:40
var  str  ="{\r\n\1\:\B\,\r\n\2\:\G\,\r\n\3\:\0\,\r\n\4\:\1\,\r\n\5\:\2\,\r\n\6\:\3\,\r\n\7\:\4\,\r\n\8\:\5\,\r\n\9\:\6\,\r\n\10\:\7\,\r\n\11\:\8\,\r\n\12\:\9\\r\n}"


需求,将\r\n替换为 空格, 再将剩余的\替换为 " 单引号 但是用正则总是不行,最后打印的都是小方框无法识别,js也不行,感觉执行之前已经被转义了.
...全文
504 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
李六木 2020-02-26
  • 打赏
  • 举报
回复
引用 3 楼 天际的海浪 的回复:
那样就必须在后台输出前把字符串中的 \ 都替换成 \\

或者是让后台输出到type="text/data"的script标签中,之后再从script标签中获取。

<script type="text/data" id="text">{\r\n\1\:\B\,\r\n\2\:\G\,\r\n\3\:\0\,\r\n\4\:\1\,\r\n\5\:\2\,\r\n\6\:\3\,\r\n\7\:\4\,\r\n\8\:\5\,\r\n\9\:\6\,\r\n\10\:\7\,\r\n\11\:\8\,\r\n\12\:\9\\r\n}</script>
<script type="text/javascript">
var str = document.getElementById("text").text;
alert(str);
</script>
非常感谢,给后台商量了一下让他改变了传输值,这种格式我实在没办法解决
李六木 2020-02-20
  • 打赏
  • 举报
回复
引用 1 楼 天际的海浪 的回复:
因为在代码中的字符串常量内 \ 就是转义符。
如var str = "a\nb";
str 的值就是
a
b

要让str 的值是
a\nb
就要在代码中写成var str = "a\\nb";


这串字符串是后台传给我的,我需要编译成我能用的,所以要把那些字符给编译下
天际的海浪 2020-02-20
  • 打赏
  • 举报
回复
那样就必须在后台输出前把字符串中的 \ 都替换成 \\ 或者是让后台输出到type="text/data"的script标签中,之后再从script标签中获取。 <script type="text/data" id="text">{\r\n\1\:\B\,\r\n\2\:\G\,\r\n\3\:\0\,\r\n\4\:\1\,\r\n\5\:\2\,\r\n\6\:\3\,\r\n\7\:\4\,\r\n\8\:\5\,\r\n\9\:\6\,\r\n\10\:\7\,\r\n\11\:\8\,\r\n\12\:\9\\r\n}</script> <script type="text/javascript"> var str = document.getElementById("text").text; alert(str); </script>
天际的海浪 2020-02-19
  • 打赏
  • 举报
回复
因为在代码中的字符串常量内 \ 就是转义符。 如var str = "a\nb"; str 的值就是 a b 要让str 的值是 a\nb 就要在代码中写成var str = "a\\nb";

87,997

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧