Jquery / js 判断数据类型方法(限制文本框类型输入)
当想要判断文本框中的值是否为自己想要的类型时,可以通过一些方法作出判断,这里对于光标离开文本框时判断文本框中输入的是否是数值类型,如果不是,做出提示
$("#WORKYEARS").blur(function () {//光标离开事件 var WORKYEARS = $.trim($("#WORKYEARS").val());//取出文本框的值 if (WORKYEARS != "") { var isok = isNaN(WORKYEARS);//判断是否为数值类型 bool,false为数字类型,true为字符 if (isok == true) { $("#WORKYEARS").val('');//清空文本框 alert("请输入整数类型!"); } } });
限制文本框只允许输入数字和小数点的方法,此方法在按键点击事件中,当输入的不是数字或者小数点,在按键抬起后直接清空,并锁定输入法,不能输入其他
$(function(){ /*JQuery 限制文本框只能输入数字*/ $(".NumText").keyup(function(){ $(this).val($(this).val().replace(/D|^0/g,'')); }).bind("paste",function(){ //CTR+V事件处理 $(this).val($(this).val().replace(/D|^0/g,'')); }).css("ime-mode", "disabled"); //CSS设置输入法不可用 /*JQuery 限制文本框只能输入数字和小数点*/ $(".NumDecText").keyup(function(){ $(this).val($(this).val().replace(/[^0-9.]/g,'')); }).bind("paste",function(){ //CTR+V事件处理 $(this).val($(this).val().replace(/[^0-9.]/g,'')); }).css("ime-mode", "disabled"); //CSS设置输入法不可用 });
文本框内只能输入数字和英文,并对其输入的值的大小和长度做限制
例:现在需要在文本框中输入成绩,成绩范围是0~100分(数字类型)和A\B\C\D\E\S这几种等级,其他的禁止输入,如下
//绩效分判断输入的值类型以及字符长度 $("#ARESULT").css("imeMode", "disabled"); //先将文本框输入法禁用,防止中文输入 $("#ARESULT").keyup(function () { $(this).val($(this).val().toUpperCase());//将文本框里输入的值转换为大写,只针对于英文字
//此表达式限制输入范围是0~9的数字和所需要的英文字母,(如需全部英文字母,也可以写为a-zA-Z)输入时为了方便不限制大小写
$(this).val($(this).val().replace(/[^0-9abcdesABCDES]/g, ''));
//获取文本框输入的值,根据不同类型做判断 var are = $("#ARESULT").val(); var isok = isNaN(are);//isNaN方法,返回bool值,false为数字,true为字符 if (isok == false) { if (are > 100) { $("#ARESULT").val(''); alert('分数不能大于100!'); //文本框设置了输入法禁用,防止输入中文字符,所以执行完弹窗后将光标返回此文本框, //如果不将光标返回,禁用输入法设置就会失效 $("#ARESULT").focus(); } } else { if (are.length > 1) { $("#ARESULT").val(''); alert('等级不能超过一位字母!'); $("#ARESULT").focus(); } } });