简体   繁体   English

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

[英]HTML5 input type=number should allow only unsigned integer

How to prevent other number related characters other than unsigned integer 如何防止无符号整数以外的其他与数字相关的字符

For example - e . 例如- e . ..etc ..等等

Demo: http://codepen.io/anon/pen/jrEGrK 演示: 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> 

如果您对HTML5没问题,为什么不使用pattern属性并定义仅数字的正则表达式?

<input pattern="[1-9][0-9]*" ...>

 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)' /> 

从实现中获取线索,如果使用这样的正则表达式怎么办:

onkeyup="value=/^\d+$/.test(value)?value:1000"

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM