如何防止无符号整数
以外的其他数字相关字符例如-
e
.
..等等
演示:http://codepen.io/anon/pen/jrEGrK
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/>
<form action="#" class="container">
<br />
<br />
<br />
<input class="form-control" onkeyup="value=isNaN(parseFloat(value))?1000:value" type="number" value="0">
</form>
&#13;
答案 0 :(得分:5)
如果你对HTML5没问题,为什么不使用pattern属性并定义一个只有正则表达式的数字呢?
<input pattern="[1-9][0-9]*" ...>
答案 1 :(得分:2)
function validate(e) {
var ev = e || window.event;
var key = ev.keyCode || ev.which;
key = String.fromCharCode( key );
var regex = /[0-9]/;
if( !regex.test(key) ) {
ev.returnValue = false;
if(ev.preventDefault) ev.preventDefault();
}
}
<input type='text' onkeypress='validate(event)' />
答案 2 :(得分:1)
从您的实现中获取线索,如果您使用这样的正则表达式会怎么样:
onkeyup="value=/^\d+$/.test(value)?value:1000"