js自定义工具类(一)

js自定义工具类

    做项目时前端的js是避免不了的,所以写一个js自定义工具类是非常有必要的,可以让你重复的使用,减少不必要的代码。

//自定义工具类
var SOCOUtils={
	//校验字符串是否为空
	isBlank:function(text){
		if(text==null){
			return true;
		}
		if(text==""){
			return true;
		}
		if(text.length==0){
			return true;
		}
		if(text==undefined){
			return true;
		}
		return false;
	},
	//校验字符串是否不为空
	isNotBlank:function(text){
		return !(this.isBlank(text))
	},
	//格式化金额
	formatCurrency:function(account){
		if(this.isBlank(account)){
	    	return '¥0.00';
	    }
	    var str = this.formatNumber(account) + '';
		var intSum = str.substring(0,str.indexOf(".")).replace( /\B(?=(?:\d{3})+$)/g, ',' );//取到整数部分
		var dot = str.substring(str.length,str.indexOf("."))//取到小数部分搜索
		var ret = intSum + dot;
		return "¥"+ret;
	},
	//转换成小数
	formatNumber:function(x){
		x = Number(parseFloat(x).toFixed(3).slice(0,-1));
	 	var f = parseFloat(x);  
	    if (isNaN(f)) {  
	        return false;  
	    }  
	    var f = Math.round(x*100)/100;  
	    var s = f.toString();  
	    var rs = s.indexOf('.');  
	    if (rs < 0) {  
	        rs = s.length;  
	        s += '.';  
	    }  
	    while (s.length <= rs + 2) {  
	        s += '0';  
	    }
	    return s;
	},
	//判断一个对象是否为空
	objectIsBlank:function(obj){
		if(JSON.stringify(obj)=="{}"){
			return true
		}
		if(Object.keys(obj).length==0){
			return true
		}
		return false
	},
	//判断一个对象是否不为空
	objectIsNotBlank:function(obj){
		return !(this.objectIsBlank(obj))
	},
	//拿取form表单数据转成json格式返回(基于jquery)
	formToJson:function(select){
		var arry=$(select).serializeArray();
		var data={}
		arry.forEach(function(element,index){
			if(data[element.name]){
				data[element.name] = data[element.name]+'$#'+element.value;
			}else{
				data[element.name]=element.value;
			}
		})
		return data
	},
	formToJsonNoNUll:function(select){
		var arry=$(select).serializeArray()
		var data={}
		arry.forEach(function(element,index){
			if(element.value!=""){
				data[element.name]=element.value
			}
		})
		return data
	},
	//补0操作
	getzf:function(num){
		if(parseInt(num) < 10){  
	        num = '0'+num;  
	    }  
	    return num;  
	},
	//格式化日期	格式(yyyy-MM-dd hh:mm:ss)
	formatDate:function(fmt,date){
		if(this.isBlank(date)){
			date=new Date()
		}
		date=new Date(date)
    	var o = {   
		    "M+" : date.getMonth()+1,                 //月份   
		    "d+" : date.getDate(),                    //日   
		    "h+" : date.getHours(),                   //小时   
		    "m+" : date.getMinutes(),                 //分   
		    "s+" : date.getSeconds(),                 //秒   
		    "q+" : Math.floor((date.getMonth()+3)/3), //季度   
		    "S"  : date.getMilliseconds()             //毫秒   
		};   
		if(/(y+)/.test(fmt))   
		    fmt=fmt.replace(RegExp.$1, (date.getFullYear()+"").substr(4 - RegExp.$1.length));   
		for(var k in o)   
			if(new RegExp("("+ k +")").test(fmt))   
		fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));   
		return fmt;
	},
	//时间计算
	dateCalculate:function(date,num){
		if(this.isBlank(date)){
			date=new Date()
		}
		var a = new Date(date)
		a = a.valueOf()
		a = a - num * 24 * 60 * 60 * 1000
		a = new Date(a)
		return this.formatDate("yyyy-MM-dd hh:mm:ss",a)
	},
	/**
	 * 距离当前时间差
	 * @param date1
	 * @returns {String}
	 */
	timeToNow:function(date1){
	   //兼容微信浏览器,主动格式化时间字符串
	    var arr1 = date1.split(" ");
	    var sdate = arr1[0].split('-');
	    var sTime = arr1[1].split(':');
	    var date = new Date(sdate[0], sdate[1] - 1, sdate[2], sTime[0], sTime[1], sTime[2]); 
	    var setTime = new Date(date).getTime();
	    var timer = null;
		var nowTime = new Date().getTime(),
		  leftTime = 0,
		  d = 0, h = 0, m = 0, s = 0;
		leftTime = Math.ceil((nowTime - setTime) / 1000);
		
		if (nowTime >= setTime) {
		  d = ~~(leftTime / 86400);
		  h = ~~(leftTime % 86400 / 3600);
		  m = ~~(leftTime % 86400 % 3600 / 60);
		  s = ~~(leftTime % 86400 % 3600 % 60);
		}
		if ((h + '').length == 1) {
		  h = '0' + h;
		}
		if((m+'').length==1){
		  m = '0'+m;
		}
		if ((s + '').length == 1) {
		  s = '0' + s;
		}
		return d + '天 ' + h + '时' + m + '分';
	}
	

}


//表单校验
var SOCOValidate={
	//校验手机号码
	mobile: function(value,param){
      	return [/^(?:1\d\d)-?\d{5}(\d{3}|\*{3})$/.test(value),"手机号码不正确"]
    },
    email: function(value,param){
      	return [/^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$/.test(value),"邮箱格式不正确"];
    },
    length:function(value,param){
      var message="长度必须在在"+param[0]+"与"+param[1]+"之间";
      	if(value.length>=param[0] && value.length<=param[1]){
      		return [true]
      	}else{
      		return [false,message]
      	}
    },
    QQ: function (value, param){
      	return [/^[1-9]\d{4,10}$/.test(value),"QQ号码不正确"];
    },
    ZIP: function (value, param){
      return [/^[0-9]\d{5}$/.test(value),'邮政编码不存在'];
    },



}

 自己写的,可以参照,也可以拓展,希望对你们有帮助!

如果大家想浏览我的下一篇文章,请留言

版权声明:此文章属于原创,不准随意转载:https://blog.csdn.net/LYQ2332826438

 

 

 

你可能感兴趣的:(JavaScript,工具类,js自定义工具类)