HTML5输入类型=数字应仅允许无符号整数

时间:2016-09-05 14:25:43

标签: javascript

如何防止无符号整数

以外的其他数字相关字符

例如- 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;
&#13;
&#13;

3 个答案:

答案 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"
相关问题