您的位置:首页 > Web前端 > JQuery

jquery如何检查输入表单为整数或数字

2013-04-15 15:14 357 查看
一个表单: <input type="text" class="num" maxNum="100" />

1、如何设定只能输入整数?

2、如何设定只能输入数字(整数或小数)?

一开始,用正则表达式来把1命题搞定了,但是第2个却有点费力!后来百度了一下,终于找到办法,这里都贴出来让大家看看,不知道还有没有BUG,欢迎指正~

一、如何设定只能输入整数

示例表单: <input type="text" class="num" maxNum="100" />

(function ($) {
$("input.num").live("keyup",function () {  //键盘输入事件
CheckNum($(this));
}).bind("paste", function () {  //粘贴事件
CheckNum($(this));
}).css("ime-mode", "disabled");
})(jQuery);

function CheckNum(obj) { //验证整数
obj = jQuery(obj);
var tmptxt = obj.val().replace(/\D|^/g, '');  //利用正则表达式
var maxNum = jQuery.trim(obj.attr("maxNum")); //最大值
if (maxNum) {
if (parseInt(maxNum) >= parseInt(tmptxt)) {
obj.val(tmptxt);
}
else {
obj.val("");
}
return;
}
obj.val(tmptxt);
}


二、如何设定只能输入数字(整数或小数)?

示例表单: <input type="text" class="float" maxNum="100" />

(function ($) {
$("input.float").live("keyup", function () { //键盘输入事件
CheckFloat($(this));
}).bind("paste", function () { //粘贴事件
CheckFloat($(this));
}).css("ime-mode", "disabled");
})(jQuery);

function CheckFloat(obj) { //验证小数
obj = jQuery(obj);
var tmptxt = obj.val();
if (isNaN(tmptxt) != true) { //利用isNaN()方法
var maxNum = jQuery.trim(obj.attr("maxNum")); //最大值
if (maxNum) {
if (parseFloat(maxNum) >= parseFloat(tmptxt)) {
obj.val(tmptxt);
}
else {
obj.val("");
}
return;
}
}
else {
tmptxt = "";
}
obj.val(tmptxt);
}


至此,终于搞定了~

PS: 上面的方法是基于jquery的,自己上网淘一个
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: