如果在提示()函数中输入双引号,为什么parseInt()函数不起作用?

时间:2018-10-30 11:20:28

标签: javascript

var a = prompt('Enter your number: ', ''); // If we enter '22' (for example)
var b = parseInt(a, 10);
alert(b); // Our result is NaN. Why?

2 个答案:

答案 0 :(得分:2)

通过按字面意义输入'22',您正在传递一个不能解释为数字的字符串。即使您的字符串中有数字,也与键入kjlafsklja393lkadsfkj会是NaN完全一样。

答案 1 :(得分:0)

如果要从带引号的字符串中提取数字,请使用matchregex\d+是“一个或多个数字”。

const a = prompt('Enter your number: ', '');
const match = a.match(/\d+/);
const b = parseInt(match, 10);
console.log(b);