js常用方法使用总结

原创
2017/12/02 14:55
阅读数 5
说明:
  1. 在项目中使用一些工具类,公共类是非常有必要的,不仅是后台,前段亦是一样
  2. 这里提供我收集的常用方法封装
注意:
  1. 字符串的拼接一定使用StringBuffer来拼接,否则容易造成浏览器卡顿或内存溢出。特别是针对一些执行js效率不高的浏览器!!
  2. 经常对输入框里内容清空,对textarea,可以直接$("textarea").empty();如果使用$("textarea").html("");也可能会造成浏览器内存溢出!!

Date工具类

/********************** date工具类 ***************/
Date.prototype.format = function(format){
	var o = {
		"M+" : this.getMonth()+1, //month
		"d+" : this.getDate(), //day
		"h+" : this.getHours(), //hour
		"m+" : this.getMinutes(), //minute
		"s+" : this.getSeconds(), //second
		"q+" : Math.floor((this.getMonth()+3)/3), //quarter
		"S" : this.getMilliseconds() //millisecond
	}
	if(/(y+)/.test(format)) format=format.replace(RegExp.$1,(this.getFullYear()+"").substr(4- RegExp.$1.length));
	for(var k in o)if(new RegExp("("+ k +")").test(format))
	format = format.replace(RegExp.$1,RegExp.$1.length==1? o[k] : ("00"+ o[k]).substr((""+ o[k]).length));
	return format;
};

公共工具类

/********************** 公共工具类 ***************/
var PublicUtil ={
	isNotEmpty:	 function(val){
		return !this.isEmpty(val);
	},
	isEmpty: function(val){
		if ((val==null || typeof(val)=="undefined")|| (typeof(val)=="string"&&val==""&&val!="undefined")){
		   return true;
		}else{
			return false;
		}
	},
	isDebug: function(){
		if(this.isNotEmpty(configDebug)&&configDebug=="true"){
			return true;
		}else{
			return false;
		}
	},
	//去除元素内所有内容 strIds:"#id1,#id2,#id3"
	emptyHtml: function(strIds){
		try{
			var ids = strIds.trim(",").split(",");
			$(ids).each(function(){
				var obj = $(this.toString());
				if(obj.length>0){
					$(obj).each(function(){
						$(this).html("");
					});
				}else{
					obj.html("");
				}
			});
		}catch(ex){
			if(PublicUtil.isDebug()){
				throw new Error("js方法:【PublicUtil.emptyHtml(strIds)】,error!");
			}
		}
	},
	//去除元素的值 strIds:"#id1,#id2,#id3"
	emptyValue: function(strIds){
		try{
			var ids = strIds.trim(",").split(",");
			$(ids).each(function(){
				var obj = $(this.toString());
				if(obj.length>0){
					$(obj).each(function(){
						$(this).val("");
					});
				}else{
					obj.val("");
				}
			});
		}catch(ex){
			if(PublicUtil.isDebug()){
				throw new Error("js方法:【PublicUtil.emptyValue(strIds)】,error!");
			}
		}
	},
	//去除Textarea内所有内容 strIds:"#id1,#id2,#id3"
	emptyTextarea: function(strIds){
		try{
			var ids = strIds.trim(",").split(",");
			$(ids).each(function(){
				var obj = $(this.toString());
				if(obj.length>0){
					$(obj).each(function(){
						$(this).empty();
						$(this).val("");
					});
				}else{
					obj.empty();
					obj.val("");
				}
			});
		}catch(ex){
			if(PublicUtil.isDebug()){
				throw new Error("js方法:【PublicUtil.emptyTextarea(strIds)】,error!");
			}
		}
	}
}

String 工具类

/********************** String工具类***************/
//trim去掉字符串两边的指定字符,默去空格
String.prototype.trim = function(tag) {
	if (!tag) { 
		tag = '\\s';
	}else { 
		if (tag == '\\') { 
		tag = '\\\\'; 
	} else if (tag == ',' || tag == '|' || tag == ';') { 
			tag = '\\' + tag; 
		}else { 
			tag = '\\s'; 
		} 
	}
	eval('var reg=/(^' + tag + '+)|(' + tag + '+$)/g;'); 
	return this.replace(reg, '');
};
//字符串截取后面加入...
String.prototype.interceptString = function(len) {
	if (this.length > len) {
		return this.substring(0, len) + "...";
	} else {
		return this;
	}
}
//将一个字符串用给定的字符变成数组
String.prototype.toArray = function(tag) {
	if (this.indexOf(tag) != -1) {
		return this.split(tag);
	}else {
		if (this != '') {
			return [this.toString()];
		}else {
			return [];
		}
	}
}
//只留下数字(0123456789)
String.prototype.toNumber= function() { 
	return this.replace(/\D/g, ""); 
}
//保留中文  
String.prototype.toCN= function() {  
	var regEx = /[^\u4e00-\u9fa5\uf900-\ufa2d]/g;  
	return this.replace(regEx, '');  
}
//转成int
String.prototype.toInt= function() {  
	var temp = this.replace(/\D/g, "");
	return isNaN(parseInt(temp)) ? this.toString() : parseInt(temp);  
}
//是否是以XX开头
String.prototype.startsWith= function(tag){
	return this.substring(0, tag.length) == tag;
}
//是否已XX结尾
String.prototype.endWith= function(tag){
	return this.substring(this.length - tag.length) == tag;
}
//StringBuffer
var StringBuffer = function() {
	this._strs = new Array; 
};
StringBuffer.prototype.append = function (str) { 
	this._strs.push(str); 
}; 
StringBuffer.prototype.toString = function() { 
	return this._strs.join(""); 
};
String.prototype.replaceAll = function(s1,s2){
	return this.replace(new RegExp(s1,"gm"),s2);
}

Arry

/********************** Arry ***************/
//根据数据取得再数组中的索引
Array.prototype.getIndex = function(obj){
	for (var i = 0; i < this.length; i++) {
		if (obj == this[i]) {
			return i;
		}
	}
	return -1;
}
//移除数组中的某元素
Array.prototype.remove= function (obj) {
	for (var i = 0; i < this.length; i++) {
		if (obj == this[i]) {
			this.splice(i, 1);
			break;
		}
	}
	return this;
}
//判断元素是否在数组中
Array.prototype.contains= function (obj) {
	for (var i = 0; i < this.length; i++) {
		if (obj == this[i]) {
			return true;
		}
	}
	return false;
}

浏览器相关操作

/********************** 浏览器相关操作 ***************/
//进入全屏模式,  判断各种浏览器,找到正确的方法
var launchFullScreen = function (element) {
  if(element.requestFullscreen) {
    element.requestFullscreen();
  } else if(element.mozRequestFullScreen) {
    element.mozRequestFullScreen();
  } else if(element.webkitRequestFullscreen) {
    element.webkitRequestFullscreen();
  } else if(element.msRequestFullscreen) {
    element.msRequestFullscreen();
  }
  return true;
}
//退出全屏模式
var exitFullScreen = function () {
  if(document.exitFullscreen) {
    document.exitFullscreen();
  } else if(document.mozCancelFullScreen) {
    document.mozCancelFullScreen();
  } else if(document.webkitExitFullscreen) {
    document.webkitExitFullscreen();
  }
  return false;
}

//cookie操作
var CookieUtil={
	path: "/",
	domain: 'demo.com',
	add: function(name,val){
		$.cookie(name, val, {expires: 7, path: this.path, domain: this.domain, secure: true});
	},
	remove: function(name){
		$.cookie(name, null,{path: this.path, domain: this.domain});
	},
	get: function(name){
		 $.cookie(name,{path: this.path, domain: this.domain});
	}
}
//error
var error={
	 e_404: function(){
		 alertMessage("404","未找到改页面!","warning");
	 },
	 e_500: function(){
		 alertMessage("500","服务器内部错误!","error");
	 },
	 e_403: function(){
		 alertMessage("403","权限不足!","warning");
	 }
}
展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部