js 如何转换一大堆特殊符号为纯数字?
比如这样一堆字符
~Yd.a.D7L`-WI=:3D7t=K8BlX|[7\j]}Ou}'O0JptRY^0F3Z6Z/|au^r6?nqOl47U$oPm?-o"aB`FXbu^=Y>9v/'(n=,8FIky9'joXxnD%F82a_sg_hD}g|;R`<tIOu-cp;MB8v2$9xC"UFkhu7mz\D(4-rr%R;RuHnZ`x-r0^7F=2(nO;,x*l,Io`"${:pw$~X>8]k+WE-hW{&aKfTPOKPS`EKx{"0\dMJi.oNTC{ml3K}kf>Vw#UyYUy]m`b"0pXQ#9oirZ[J^0DoPiR*"__p9c<|_fGBB'vj]W#w~XPz7K=9rUF@mz%p[[8Ys(LNajwDnO;e)=OP!9kd}\b!S"S/$Y7<fG:TS
因为里面包含了 `
"
'
等等符号
直接用 replace(/[^\d.]/g, '')
会提示报错
回复
1个回答
test
2024-06-26
如果你的字符串内容是贴出来的那个,直接 replace(/[^\d.]/g, '')
是不会报错的,结果是..737870036647989828297407280.3090979897
。
你那边报错是报的啥?
如果是因为转义的问题,转义的结果是
'~Yd.a.D7L`-WI=:3D7t=K8BlX|[7\\j]}Ou}\'O0JptRY^0F3Z6Z/|au^r6?nqOl47U$oPm?-o"aB`FXbu^=Y>9v/\'(n=,8FIky9\'joXxnD%F82a_sg_hD}g|;R`<tIOu-cp;MB8v2$9xC"UFkhu7mz\\D(4-rr%R;RuHnZ`x-r0^7F=2(nO;,x*l,Io`"${:pw$~X>8]k+WE-hW{&aKfTPOKPS`EKx{"0\\dMJi.oNTC{ml3K}kf>Vw#UyYUy]m`b"0pXQ#9oirZ[J^0DoPiR*"__p9c<|_fGBB\'vj]W#w~XPz7K=9rUF@mz%p[[8Ys(LNajwDnO;e)=OP!9kd}\\b!S"S/$Y7<fG:TS'
要得到转义的字符串方法比较多,比如
- 做个 TextArea 把字符串粘贴进去再用脚本取出来
- 用
localStorage.setItem("xxx", "")
产生一个值,在 DevTools 里去粘贴替换值,再用localStorage.getItem("xxx")
取出来 - …… 诸如此类的方法还很多
回复
适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容