Thousandth sign

Achieving effect:
Numbers are automatically thousandths, filled in into numbers
Corresponding HTML:
input id="receivedCost" name="receivedCost" value="0"
placeholder="" class="form-control"
style="height:; width : px; margin-bottom: 0px;"
type="text" οnchange="checkNum(this)" οnmοuseοver="removeNumNode(this)" οnmοuseοut="checkNum(this)")

Corresponding js:
function thousandPoints(obj){//input obj=123456.7890
if(obj0){
return 0;
}
if(obj
’’){
return ‘’;
}

    //剔除NAN
    if(obj!==obj){
    	return '';
    }
    
    if(null==obj){
    	return '';
    }
    
    if(obj==undefined){
    	return '';
    }
    
    var mnyReg = /^([1-9][0-9]*|(([0]\.[0-9]{0,2}[1-9]\d*|[1-9][0-9]*\.\d*)))$/;//根据需求修改
    if(!(mnyReg.test(obj))){
    	/*debugger
    	obj,minus = detMinus(obj);
    	alert(obj);
    	alert(minus);*/
    	obj = returnNormalNum(obj);
      
      }

// alert(obj);
var n = 2; //保留得小数位
obj = parseFloat(obj).toFixed(n); //obj=123456.789
var left = obj.split(".")[0].split("").reverse();//left = [“6”,“5”,“4”,“3”,“2”,“1”]
var right = obj.split(".")[1]; //right = “789”
var total = new Array();
for (i = 0; i < left.length; i++) {
total.push(left[i]);
if((i + 1) % 3 == 0 && (i + 1) != left.length){
total.push(",");
}
} //total = [“6”,“5”,“4”,",",“3”,“2”,“1”]
var newValue;
newValue = total.reverse().join("") + “.” + right
return newValue;
};

/*String.prototype.replaceAll = function(s1,s2){
return this.replace(new RegExp(s1,“gm”),s2);
} */

//Convert the thousandth sign number into the original data
function returnNormalNum(num){ if(null!=num){ var oldMny = num.replaceAll(",",""); if(oldMny.indexOf(".") >0){ oldMny = oldMny.replace(/0+? /, ""); / / Remove the extra 0 old M ny = old M ny. Replace (/ [.] /,"");//Remove The extra 0 at the tail oldMny = oldMny.replace(/[.]



/,"");/ / To other tail portions plurality remainder of 0 O L D M n- Y=o l d M n y . r e p l a c e ( / [ . ] /,"");//If the last digit is. then remove
}

    return oldMny;
}

};

/ Function detMinus (num) { debugger var less = ''; if (num.charAt (0) == '-') { minus = '-'; Surely = num.slice (1); } Return or less; }







/

	function checkNum(obj) {  
		//debugger;
		var num =  obj.value;
		//alert(num);
		//1.先去除空格,判断是否空值和非数   
		num = num + "";
		num=num.replaceAll(",","");
		num = num.replace(/[ ]/g, ""); //去除空格  
		    if (num == "") { 
		    	$(obj).val("0");
		    return;   
		    }   
		    if (isNaN(num)){
		    	$(obj).val("0");
		    return;   
		    }
		    num=parseInt(num*10000)/10000;
		    num=num.toString();
		    var rs = num.indexOf('.');    
	        if (rs < 0) {    
	            rs = num.length;    
	            num += '.';    
	        }    
	        while (num.length <= rs + 2) {    
	        	num += '0';    
	        }
		    //2.针对是否有小数点,分情况处理   
		    var index = num.indexOf(".");   
		    if (index==-1) {//无小数点   
		      var reg = /(-?\d+)(\d{3})/;   
		        while (reg.test(num)) {   
		        num = num.replace(reg, "$1,$2");   
		        }   
		    } else {   
		        var intPart = num.substring(0, index);   
		        var pointPart = num.substring(index + 1, index + 3);   
		        var reg = /(-?\d+)(\d{3})/;   
		        while (reg.test(intPart)) {   
		        intPart = intPart.replace(reg, "$1,$2");   
		        }   
		       num = intPart +"."+ pointPart;   
		    }
		    $(obj).val(num);
		}
	
	
	
	
	
	
	
	function checkTableNum(num) {  				
		//1.先去除空格,判断是否空值和非数   
		num = num + "";   
		num = num.replace(/[ ]/g, ""); //去除空格  
			if (num == null||num=='null'||typeof(num) == "undefined"||num== "undefined") { 
		    	return '0.00';
		    return;   
		    }
		    if (num == "") { 
		    	return '0.00';
		    return;   
		    }
		    if (num == "0") { 
		    	return '0.00';
		    return;   
		    }
		    if (isNaN(num)){ 
		    	return '0.00'
		    return;   
		    }
		    num=parseInt(num*10000)/10000;
		    num=num.toString();
		    var rs = num.indexOf('.');    
	        if (rs < 0) {    
	            rs = num.length;    
	            num += '.';    
	        }    
	        while (num.length <= rs + 2) {    
	        	num += '0';    
	        }
		    //2.针对是否有小数点,分情况处理   
		    var index = num.indexOf(".");   
		    if (index==-1) {//无小数点   
		      var reg = /(-?\d+)(\d{3})/;   
		        while (reg.test(num)) {   
		        num = num.replace(reg, "$1,$2");   
		        }   
		    } else {   
		        var intPart = num.substring(0, index);   
		        var pointPart = num.substring(index + 1, index + 3);   
		        var reg = /(-?\d+)(\d{3})/;   
		        while (reg.test(intPart)) {   
		        intPart = intPart.replace(reg, "$1,$2");   
		        }   
		       num = intPart +"."+ pointPart;   
		    }
		    return num;
		}
	function removeNumNode (obj){
		var num =  obj.value;
		//alert(num);
		//1.先去除空格,判断是否空值和非数   
		num = num + "";
		num=num.replaceAll(",","");
		$(obj).val(num);
	}
	function justNum(obj){
		 obj.value = obj.value.replace(/[^\d.]/g,"");  //清除“数字”和“.”以外的字符   
		    obj.value = obj.value.replace(/\.{2,}/g,"."); //只保留第一个. 清除多余的   
		    obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");  
		    obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3');//只能输入两个小数   
		    if(obj.value.indexOf(".")< 0 && obj.value !=""){//以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02的金额  
		    obj.value= parseFloat(obj.value);  
		    }
	}
	
	function toMenNum(num){
		
		 
			 
			// var num =  $("#"+obj).val();
			//alert(num);
			//1.先去除空格,判断是否空值和非数   
			num = num + "";
			num=num.replaceAll(",","");
			num = num.replace(/[ ]/g, ""); //去除空格  
			    if (num == "") { 
			    	$(obj).val("0");
			    return;   
			    }   
			    if (isNaN(num)){
			    	$(obj).val("0");
			    return;   
			    }
			    num=parseInt(num*10000)/10000;
			    num=num.toString();
			    var rs = num.indexOf('.');    
		        if (rs < 0) {    
		            rs = num.length;    
		            num += '.';    
		        }    
		        while (num.length <= rs + 2) {    
		        	num += '0';    
		        }
			    //2.针对是否有小数点,分情况处理   
			    var index = num.indexOf(".");   
			    if (index==-1) {//无小数点   
			      var reg = /(-?\d+)(\d{3})/;   
			        while (reg.test(num)) {   
			        num = num.replace(reg, "$1,$2");   
			        }   
			    } else {   
			        var intPart = num.substring(0, index);   
			        var pointPart = num.substring(index + 1, index + 3);   
			        var reg = /(-?\d+)(\d{3})/;   
			        while (reg.test(intPart)) {   
			        intPart = intPart.replace(reg, "$1,$2");   
			        }   
			       num = intPart +"."+ pointPart;   
			    }
			    return num;
			  //  $("#"+obj).val(num);
		
	}

Guess you like

Origin blog.csdn.net/weixin_38813363/article/details/81215425