js 常用方法

来源:互联网 发布:淘宝网购物摩托车 编辑:程序博客网 时间:2024/03/29 22:40

//验证数字,保留一位小数
function one(ele){
    ele.value=ele.value.replace(//.{2,100}|[a-zA-Z]{1,100}|[/u4e00-/u9fa5]{1,100}|[/+/_/=/-/!/@/#/$/%/^/&/*/(/)/"/'/?///>/</,/s]{1,100}/,"");
    if(ele.value.indexOf('.')!=-1){
        ele.value=ele.value.substring(0,ele.value.indexOf('.')+2);
    }
}
//验证数字,保留2位小数
function two(ele){
    ele.value=ele.value.replace(//.{2,100}|[a-zA-Z]{1,100}|[/u4e00-/u9fa5]{1,100}|[/+/_/=/-/!/@/#/$/%/^/&/*/(/)/"/'/?///>/</,/s]{1,100}/,"");
    if(ele.value.indexOf('.')!=-1){
        ele.value=ele.value.substring(0,ele.value.indexOf('.')+3);
    }
}
//验证数字,保留N位小数 参数为Dom
function any(ele,n){
    ele.value=ele.value.replace(//.{2,100}|[a-zA-Z]{1,100}|[/u4e00-/u9fa5]{1,100}|[/+/_/=/-/!/@/#/$/%/^/&/*/(/)/"/'/?///>/</,/s]{1,100}/,"");
    if(ele.value.indexOf('.')!=-1){
        ele.value=ele.value.substring(0,ele.value.indexOf('.')+n+1);
    }
}
//验证数字,保留N位小数 参数为String
function anyString(str,n){
    str=str+"";
    str=str.replace(//.{2,100}|[a-zA-Z]{1,100}|[/u4e00-/u9fa5]{1,100}|[/+/_/=/-/!/@/#/$/%/^/&/*/(/)/"/'/?///>/</,/s]{1,100}/,"");
    if(n==null||n.length==0||n==undefined){
        n=2;
    }
    if(str.indexOf('.')!=-1){
        str=str.substring(0,str.indexOf('.')+n+1);
    }
    return str;
}
//验证数字,保留N位小数 参数为Str,默认保留2位
function anyDouble(str,n){
    if(n==null||n==""||n==undefined){
        n=2;
    }
    var tempValue=Math.pow(10, n);
    str=accDiv(Math.round(accMul(str,tempValue)),tempValue);
    return str;
}
//只能输入一定长度
function max(str,length){
    return str.substring(0,length+1);
}
//只能输入数字
function zero(ele){
    ele.value=ele.value.replace(//D{1,100}/,"");
}
//长度匹配,小于
function less(str,lengthNum){
    if(str.length<lengthNum){
        return true;
    }else{
        return false;
    }
}

//验证固定电话和手机
    function checkphone(e){
        e=e[0];
        var re="^(0[0-9]{2,3}/-)?([2-9][0-9]{6,7})+(/-[0-9]{1,4})?$";
        if(!e.value.match(re) && !(/^1[3|4|5|8][0-9]/d{4,8}$/.test(e.value)) ){
            alert("联系方式不正确!");
            e.value="";
            e.focus();
            return false;
        }else{
            return true;
        }
    }

 

 

 

 

//验证身份证
    function isIdCardNo(num)
    {  
          num = num.toUpperCase(); 
             //身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X。  
          if (!(/(^/d{15}$)|(^/d{17}([0-9]|X)$)/.test(num)))  
          {
              alert('输入的身份证号长度不对,或者号码不符合规定!/n15位号码应全为数字,18位号码末位可以为数字或X。');
              return false;
          }
          else{
               return true;
          }
    }

 

 

 


//精确计算浮点数 网上C的 加法
function accAdd(arg1,arg2){
    var r1,r2,m;
    try{r1=arg1.toString().split(".")[1].length;}catch(e){r1=0;}
    try{r2=arg2.toString().split(".")[1].length;}catch(e){r2=0;}
    m=Math.pow(10,Math.max(r1,r2));
    return (arg1*m+arg2*m)/m;
}
//精确计算浮点数 网上C的 乘法
function accMul(arg1,arg2)
{
var m=0,s1=arg1.toString(),s2=arg2.toString();
try{m+=s1.split(".")[1].length;}catch(e){}
try{m+=s2.split(".")[1].length;}catch(e){}
return Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m)
}
//精确计算浮点数 网上C的 减法
function Subtr(arg1,arg2){
    var r1,r2,m,n;
    try{r1=arg1.toString().split(".")[1].length;}catch(e){r1=0;}
    try{r2=arg2.toString().split(".")[1].length;}catch(e){r2=0;}
    m=Math.pow(10,Math.max(r1,r2));
    //last modify by deeka
    //动态控制精度长度
    n=(r1>=r2)?r1:r2;
    return ((arg1*m-arg2*m)/m).toFixed(n);
}
//精确计算浮点数 网上C的 除法
function accDiv(arg1,arg2){
    var t1=0,t2=0,r1,r2;
    try{t1=arg1.toString().split(".")[1].length;}catch(e){}
    try{t2=arg2.toString().split(".")[1].length;}catch(e){}
    with(Math){
    r1=Number(arg1.toString().replace(".",""));
    r2=Number(arg2.toString().replace(".",""));
    return (r1/r2)*pow(10,t2-t1);
    }
}