js 如何转换一大堆特殊符号为纯数字?

作者站长头像
站长
· 阅读数 5

比如这样一堆字符

~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个回答
avatar
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'

要得到转义的字符串方法比较多,比如

  1. 做个 TextArea 把字符串粘贴进去再用脚本取出来
  2. localStorage.setItem("xxx", "") 产生一个值,在 DevTools 里去粘贴替换值,再用 localStorage.getItem("xxx") 取出来
  3. …… 诸如此类的方法还很多
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容