相关疑难解决方法(0)

为什么我在node.js中使用parseInt会得到奇怪的结果?(来自chrome js控制台的不同结果)

我刚注意到:

//IN CHROME JS CONSOLE
parseInt("03010123"); //prints: 3010123

//IN NODE.JS
parseInt("03010123"); //prints: 790611
Run Code Online (Sandbox Code Playgroud)

由于两者都基于V8,为什么同样的操作会产生不同的结果?

javascript google-chrome parseint node.js

12
推荐指数
1
解决办法
1万
查看次数

当JS包含非数字字符时,使用JS获取<input type ="number">的值

这个jsfiddle演示了以下问题.

最简单的例子是:

<input id="number" type="number" value="1">
console.log(document.getElementById('number').value);
Run Code Online (Sandbox Code Playgroud)

这按预期记录1.但是这样:

<input id="number" type="number" value="1A">
console.log(document.getElementById('number').value);
Run Code Online (Sandbox Code Playgroud)

只记录一个空字符串'',因为值中包含非数字字符.某些设备+浏览器(例如Chrome)允许您在这些输入中输入非数字字符.

这很烦人,因为我想为支持它的设备输入type ="number"(例如iPhone,iPad数字键盘).但是我想使用javascript来阻止输入脏输入 - 这需要在keyup上获取值 - 然后regex替换非数字字符.

看来jQuery的.val()方法给出了相同的结果.

javascript html5 textinput

10
推荐指数
1
解决办法
1万
查看次数

标签 统计

javascript ×2

google-chrome ×1

html5 ×1

node.js ×1

parseint ×1

textinput ×1