js相关工具函数

1、时间相关


function getYYYYMMDD(){
	var myDate = new Date();
	myDate.getHours();
	myDate.getMinutes();
	myDate.getSeconds();
	var dateStr = myDate.getFullYear() + "-" + (myDate.getMonth()+1) + "-" + myDate.getDate();
	return dateStr;
}
function getYYYYMMDDHHMMSS(){
	var myDate = new Date();
	var dateStr = myDate.getFullYear() + "-" + (myDate.getMonth()+1) + "-" + myDate.getDate() +" "+myDate.getHours()+":"+myDate.getMinutes()+":"+myDate.getSeconds();
	return dateStr;
}
function getDDMMYYYY(){
	var myDate = new Date();
	myDate.getHours();
	myDate.getMinutes();
	myDate.getSeconds();
	var dateStr = myDate.getDate() + "/" + (myDate.getMonth()+1) + "/" + myDate.getFullYear();
	return dateStr;
}

2、浮点运算

 

//加
function floatadd(a, b) {
	var c, d, e;
	try {
		c = a.toString().split(".")[1].length;
	} catch (f) {
		c = 0;
	}
	try {
		d = b.toString().split(".")[1].length;
	} catch (f) {
		d = 0;
	}
	return e = Math.pow(10, Math.max(c, d)), (floatmul(a, e) + floatmul(b, e)) / e;
}

//减
function floatsub(a, b) {
	var c, d, e;
	try {
		c = a.toString().split(".")[1].length;
	} catch (f) {
		c = 0;
	}
	try {
		d = b.toString().split(".")[1].length;
	} catch (f) {
		d = 0;
	}
	return e = Math.pow(10, Math.max(c, d)), (floatmul(a, e) - floatmul(b, e)) / e;
}

//乘
function floatmul(a, b) {
	var c = 0,
	d = a.toString(),
	e = b.toString();
	try {
		c += d.split(".")[1].length;
	} catch (f) {}
	try {
		c += e.split(".")[1].length;
	} catch (f) {}
	return Number(d.replace(".", "")) * Number(e.replace(".", "")) / Math.pow(10, c);
}

//除
function floatdiv(a, b) {
	var c, d, e = 0,
	f = 0;
	try {
		e = a.toString().split(".")[1].length;
	} catch (g) {}
	try {
		f = b.toString().split(".")[1].length;
	} catch (g) {}
	return c = Number(a.toString().replace(".", "")), d = Number(b.toString().replace(".", "")), floatmul(c / d, Math.pow(10, f - e));
}

3、表单数字类型验证

 

/**
 * 只能输入数字和小数
 */
function clearNoNum(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 clearNoTelNum(obj){
    obj.value = obj.value.replace(/[^\d-]/g,"");  //清除“数字”和“-”以外的字符  
    obj.value = obj.value.replace(/\-{2,}/g,"-"); //只保留第一个. 清除多余的  -
}

/**
 * 只能输入数字和小数
 */
function clearNoNum6(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\d\d\d\d).*$/,'$1$2.$3');//只能输入两个小数  
    if(obj.value.indexOf(".")< 0 && obj.value !=""){//以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02的金额 
        obj.value= parseFloat(obj.value); 
    } 
}

/**
 * 只能输入数字和小数
 */
function clearNoNum01(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 (parseFloat(obj.value)>parseFloat("1")) {
    	 obj.value= parseFloat("1"); 
    }
}

/**
 * 只能输入正整数,数字
 */
function clearNoNumInt(obj){
    obj.value = obj.value.replace(/[^\d]/g,"");  //清除“数字” 以外的字符  
}

/**
 * 格式化数字
 */
function formatNumber(s, n) {
    /*
     * 参数说明:
     * s:要格式化的数字
     * n:保留几位小数
     * */
    n = n > 0 && n <= 20 ? n : 2;
    s = parseFloat((s + "").replace(/[^\d\.-]/g, "")).toFixed(n) + "";
    var l = s.split(".")[0].split("").reverse(),
        r = s.split(".")[1];
    t = "";
    for (i = 0; i < l.length; i++) {
        t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : "");
    }
    return t.split("").reverse().join("") + "." + r;
}

 4、表单正则校验


//验证英文字母和下划线
function IsKey(key){
	var reg = /^[a-zA-Z0-9_]{3,}$/;
	if(key.match(reg)){
		 return true;
	}else{
		 return false;
    }
}

//验证手机号码
function IsPhone(phone){
	var reg =  /^0?1[3|4|5|7|9|8][0-9]\d{8}$/;
	 if (reg.test(phone)) {
		 return true;
	 }else{
		 return false;
	 };
}

//验证电话号码
function IsTel(tel){
	//var reg = /^((d{3,4})|d{3,4}-)?d{7,8}(-d{3})*$/;
	//^[a-zA-Z][a-zA-Z0-9_]{4,15}$
	var reg = /^[0-9][0-9-]{7,15}$/;
	 if (reg.test(tel)) {
		 return true;
	 }else{
		 return false;
	 };
}

//判断输入的EMAIL格式是否正确    
function IsEmail(str){
  var res = false;
  if(str.length!=0){
    	  var reg=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;    
      	  if(reg.test(str)){    
      		res = true;
      	  }else{
      		res = false;
      	  }
  }
  
  return res;
}     
 
//判断输入的邮编(只能为六位)是否正确    
function IsZIP(str){
  var res = false;
  if(str.length!=0){
	  	  var reg=/^\d{6}$/;        
      	  if(reg.test(str)){    
      		res = true;
      	  }else{
      		res = false;
      	  }
  }
  return res;
}     


//判断输入的传真是否正确    
function IsFAX(str){
  var res = false;
  if(str.length>0){
	  	  var reg=/^(\d{3,4}-)?\d{7,8}$/;        
      	  if(reg.test(str)){    
      		res = true;
      	  }else{
      		res = false;
      	  }
  }
  return res;
}     
 

//判断输入的QQ是否正确    
function IsQQ(str){
	var res = false;
	if(str.length!=0){
	  	  var reg=/^[1-9]\d{4,8}$/;        
    	  if(reg.test(str)){    
    		res = true;
    	  }else{
    		res = false;
    	  }
	}
	return res;
}     


//判断输入的身份证号是否正确    
function IsIdCard (str){
	var res = false;
	if(str.length!=0){
	  	  var reg=/^[1-9]\d{4,8}$/;        
  	  if(reg.test(str)){    
  		res = true;
  	  }else{
  		res = false;
  	  }
	}
	return res;
}     

//判断输入的金钱是否正确    
function IsMoney(str){
	var res = false;
	if(str.length!=0){
	  	  var reg=/(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/;        
  	  if(reg.test(str)){    
  		res = true;
  	  }else{
  		res = false;
  	  }
	}
	return res;
}     

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值