/** * 輸入實在驗證 * @param that */ var strLast = ""; //記錄每次正常輸入的 var strIndex = 0; //記錄每次正常輸入的長度 function realmonitor(that){ var val = that.value; var flag = true; if(val.length > 0){ if(isNaN(val)){//通過這個控制能是數字可以包含“.” val = strLast; flag = false; } var regx = /^\d+(\.\d{1,2})?$/; // 數字正則[?匹配0次或1次],只能輸入兩位小數 if (!regx.test(val)) { if(val.substr(val.length-1,val.length) != "."){ flag = false; val = strLast; } } if(val.length > 9){ //只能有9位數 flag = false; val = val.slice(0,9); } if(flag == false){ //只有當值在上面的階段改變以后才需要重新賦值 that.value = val; } strLast = val; strIndex = val.length; }else{ var val = strLast; if(strIndex == 1 || strIndex == 0){ //表示是最后一位 val = ""; } that.value = val; } };