验证表单必须为数字并且只保留小数点后2位

/**
* 输入实在验证
* @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;
}
};

 

posted @ 2016-11-16 17:02  wangwht  阅读(2467)  评论(0编辑  收藏  举报