jquery如何检查输入表单为整数或数字
一个表单: <input type="text" class="num" maxNum="100" />
1、如何设定只能输入整数?
2、如何设定只能输入数字(整数或小数)?
一开始,用正则表达式来把1命题搞定了,但是第2个却有点费力!后来百度了一下,终于找到办法,这里都贴出来让大家看看,不知道还有没有BUG,欢迎指正~
一、如何设定只能输入整数
示例表单: <input type="text" class="num" maxNum="100" />
1 (function ($) { 2 $("input.num").live("keyup",function () { //键盘输入事件 3 CheckNum($(this)); 4 }).bind("paste", function () { //粘贴事件 5 CheckNum($(this)); 6 }).css("ime-mode", "disabled"); 7 })(jQuery); 8 9 function CheckNum(obj) { //验证整数 10 obj = jQuery(obj); 11 var tmptxt = obj.val().replace(/\D|^/g, ''); //利用正则表达式
12 var maxNum = jQuery.trim(obj.attr("maxNum")); //最大值 13 if (maxNum) { 14 if (parseInt(maxNum) >= parseInt(tmptxt)) { 15 obj.val(tmptxt); 16 } 17 else { 18 obj.val(""); 19 } 20 return; 21 } 22 obj.val(tmptxt); 23 }
二、如何设定只能输入数字(整数或小数)?
示例表单: <input type="text" class="float" maxNum="100" />
1 (function ($) { 2 $("input.float").live("keyup", function () { //键盘输入事件 3 CheckFloat($(this)); 4 }).bind("paste", function () { //粘贴事件 5 CheckFloat($(this)); 6 }).css("ime-mode", "disabled"); 7 })(jQuery); 8 9 10 function CheckFloat(obj) { //验证小数 11 obj = jQuery(obj); 12 var tmptxt = obj.val(); 13 if (isNaN(tmptxt) != true) { //利用isNaN()方法 14 var maxNum = jQuery.trim(obj.attr("maxNum")); //最大值 15 if (maxNum) { 16 if (parseFloat(maxNum) >= parseFloat(tmptxt)) { 17 obj.val(tmptxt); 18 } 19 else { 20 obj.val(""); 21 } 22 return; 23 } 24 } 25 else { 26 tmptxt = ""; 27 } 28 obj.val(tmptxt); 29 }
至此,终于搞定了~
PS: 上面的方法是基于jquery的,自己上网淘一个