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的,自己上网淘一个

 

posted @ 2013-04-15 15:14  Seasons1987  阅读(3555)  评论(0编辑  收藏  举报