Javascript - 无法将字符串转换为数字

问题描述 投票:-1回答:1

我正在创建一个字符串解析器应用,这是我的应用流程。

  1. 全选
  2. 粘贴到我的网站上,它会将其转换为一些东西。

问题是,当我试图使用以下两种方法转换一个字符串数字时,我的问题是 Number(myString)parseInt(myString) 我得到了 NaN.但当我使用一个虚拟变量,如 let i = "19" 它将正确地把它转换为数字,我试过把我的字符串转换为urlEncoded格式,结果是:对于字符串来说,它是正确的。

我试着把我的字符串转换成urlEncoded格式,结果是:for string21‬ 编码的结果是 %E2%80%AD21%E2%80%AC

所以我的结论是,我在网络浏览器中复制粘贴得到的字符串由于某种格式化而无法解析。

我如何修复这种行为?

javascript typescript parsing text browser
1个回答
0
投票

你可以使用 replace(/[^\x20-\x7E]/g, '') 来替换不可打印的ASCII字符,就像这样。

const sillyString = decodeURIComponent("%E2%80%AD21%E2%80%AC");
console.log(sillyString);
console.log(parseInt(sillyString));
console.log(parseInt(sillyString.replace(/[^\x20-\x7E]/g, '')));

也许会有帮助?

© www.soinside.com 2019 - 2024. All rights reserved.