當想要判斷文本框中的值是否為自己想要的類型時,可以通過一些方法作出判斷,這里對於光標離開文本框時判斷文本框中輸入的是否是數值類型,如果不是,做出提示
$("#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(); } } });