在js中如何设置转义字符

在js中如何设置转义字符,第1张

使用反斜杠“\”,例如,要输出以下内容:I said "Hello World!".

<script>

document.write("I said \"Hello World\"!")

</script>

javascript中只字符串的话 很少用转义

因为javascript中引号比较灵活,单引号和双引号意义相同,用单引号时内部用双引号就不用转义,

用双引号时内部用单引号也不用转义

字符串中需要转义的主要是"\",要写成"\\"

如果你用单引号括字符的,里面单引号要写成 \' 进行转义

双引号同理

你这句我估计应该是

document.getElementById('spannum').innerHTML = '<input type="text" id="tsnum" name="tsnum"><a id="tj" href="javascript:text('billid','tsempnum','1')">提交</a>'

这里把'billid','tsempnum'都是当作字符串的,如果是变量,单引号去掉就好了.

最无脑的方法

var StringToBeDecoded = '\\u00ff'

var DecodedString = eval('"' + StringToBeDecoded + '"')

当然因为用到了eval所以陷阱相当多

比如任意代码执行问题

比如无效字符串无法解析啊等等

所以其实你可以用escape去存储字符串

然後用unescape去解析

比如escape('\u00ff') = '%FF'

看你的需求

目测你是在写前端後台的数据交互?

那麽也可以用JSON的思路(假设你生成数据的端可以使用任何一种JSON库

例如浏览器自带的JSON

就可以这样写

JSON.stringify({Data : '\n\r\x88\u00ff\u4e00'}).replace(/[\x80-\xff]/g,function(S){return '\\x' + S.charCodeAt().toString(16)}).replace(/[\u1000-\uffff]/g,function(S){return '\\' + escape(S).substring(1)})

这样你就能拿到一个完全由ASCII组成的数据了

然後怎麽解析就不必多说了吧


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11820703.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-18
下一篇2023-05-18

发表评论

登录后才能评论

评论列表(0条)

    保存