js如何实现一个文本框只能输入数字 且是100的倍数?
走同样的路,发现不同的人生
phpvar a = 123,b = 200; /\d/.test(a) && a % 100 == 0;//false /\d/.test(b) && b % 100 == 0;//true
php
var a = 123,b = 200; /\d/.test(a) && a % 100 == 0;//false /\d/.test(b) && b % 100 == 0;//true
用keydown过滤掉数字以外的,然后再乘100
<input id="num" onkeydown="onlynum();"/> <script> function onlynum(){ if ( ! ((event.keyCode >= 48 && event.keyCode <= 57 ) || (event.keyCode >= 96 && event.keyCode <= 105 ) || (event.keyCode == 8 ))) event.returnValue = false ; } </script>
没写100的倍数,但是应该差不多是这个样子。 但是为了使其能更具有普遍的兼容性,最好用event.keyCode|| event.which.
===差不多就是这个样子,自己试一下吧====
<!DOCTYPE html> <html> <head> <title>Number Entry</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script src="http://code.jquery.com/jquery-1.11.1.js"></script> <script> $(function(){ var keyupTimeout; $('#numberEntry').on("keyup",function(ev){ var keycode = ev.which;//keycode就是按键的编码 var currentValue=$('#numberEntry').val(); currentValue=parseInt(currentValue,10)||0; currentValue=currentValue/100; clearTimeout(keyupTimeout); if((!(keycode>=48&&keycode<=57)||(keycode>=96&&keycode<= 105))&&(keycode!==8)){ $('#numberEntry').val($('#numberEntry').val().substring(0,$('#numberEntry').val().length-1)); return; } keyupTimeout=setTimeout(function(){ if((keycode>=48&&keycode<=57)||(keycode>=96&&keycode<= 105)||keycode==8){ if(Math.floor(currentValue) !== currentValue){ $('#numberEntry').val(''); } } },400); }); }); </script> </head> <body> 输入数字且是100的整数倍: <input type="text" value="" id="numberEntry"> </body> </html>
用keydown过滤掉数字以外的,然后再乘100
没写100的倍数,但是应该差不多是这个样子。
但是为了使其能更具有普遍的兼容性,最好用event.keyCode|| event.which.
===差不多就是这个样子,自己试一下吧====