`
wangyalei
  • 浏览: 53721 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

js常用工具类(二次更新)

    博客分类:
  • AJAX
阅读更多
js常用方法将会不断更新
/*
说明:去除字符串两边空格函数
参数obj:要去除空格的文本框
返回值:去除空格之后的字符串
*/
function trim(obj) {
	return String(obj.value).replace(/(^\s*)|(\s*$)/g, "");
}

/*
说明:显示错误信息函数
参数obj:出现错误信息的文本框
参数errmsg:错误信息
*/
function showError(obj, errmsg) {
	alert(errmsg);
	try{
		obj.focus();
	} catch(e) {
	}
}

/*
说明:检查是否为空函数
参数obj:要检查的文本框
返回值:判断结果 true不为空 false为空
*/
function checkEmpty(obj) {
	if(obj == "") {
		return false;
	} else {
		return true;
	}
}

/*
说明:检查长度函数
参数obj:要检查长度的文本框
参数min:最小长度
参数max:最大长度
返回值:判断结果 true在要求长度中 false超出要求长度
*/
function checkLength(obj, min, max) {
	if(obj.length < min || obj.length > max) {
		return false;
	} else {
		return true;
	}
}

/*
说明:下拉列表选中函数
参数obj:要选中的下拉列表
参数selectvalue:标识选中的参数
*/
function selectitem(obj , selectvalue){
	var options = obj.options;
	for(var i = 0; i < options.length; i++) {
		if(selectvalue == options[i].value) {
			options[i].selected = true;
		}
	}	
}

/*
说明:判断value变量值是否是数字
参数value:输入值
返回值:是数字返回true,否则false
*/
function isNumeric(value){
	if( value != null && value.length>0 && isNaN(value) == false){
		return true;
	}
	else{
		return false;
	}
}	

/*
说明:判断value变量值是否是中文
参数value:输入值
返回值:是中文返回false,否则true
*/
function isChn(str){
 		var reg = /^([\u4E00-\u9FA5]|[\uFE30-\uFFA0])*$/;
		if(reg.test(str)){
			return false;
		}
		return true;
}


/*
说明:对复选框的全选或不选
参数state:输入值 1 全选 2 全部选
返回值:是中文返回false,否则true
*/
function change(state){
	try{
		var checks=document.getElementsByTagName("input");
		var i=0;
		var length=checks.length;
		var flag=true;
		if(state==1){
			flag=true;
		}
		if(state==0){
			flag=false;
		}
		for(i;i<length;i++){
			if(checks[i].type=="checkbox"){
				checks[i].checked=flag;
			}
		}
	}catch(e){
		window.alert(e.message);
	}
}

 

/**
 * <code>DateUtil</code>类用于封装常用的日期处理操作
 */
var DateUtil = function(year,month,day,hour,minute,second){
	/** curDateTime		当前客户端日期时间*/
	this.curDateTime = new Date();	
	/**
	 * <code>getDateTime</code>方法返回Date类型对象
	 * 
	 */
	this.getDateTime = function(){
		var date = null;
		if((year==null && month==null && day==null
				&& hour == null && minute == null && second == null)){
			date =  this.curDateTime;
		}else if(year != null && month != null && day != null
				    && hour == null && minute == null && second == null){
			date = new Date(year,month-1,day);
		}else if(year != null && month != null && day != null
					&& hour != null && minute != null && second != null){
			date = new Date(year,month-1,day,hour,minute,second);			
		}
		return date;			
	};	
	
	/**
	 * <code>getYear</code>方法取得年值
	 * 
	 */
	this.getYear = function(){
		var year = null;
		var dateTime = this.getDateTime();						

    		
		if(dateTime != null){
			year = dateTime.getFullYear();
		}else{
			year = this.curDateTime.getFullYear();
		}		
		return year;
	};
	
	/**
	 * <code>getMonth</code>方法取得月值
	 * 
	 */
	this.getMonth = function(){
		var month = null;
		var dateTime = this.getDateTime();
		if(dateTime != null){
			month = dateTime.getMonth() + 1;		
		}else{
			month = this.curDateTime.getMonth() + 1;	
		}
		return month;
	};
	
	/**
	 * <code>getDay</code>方法取得日值
	 * 
	 */
	this.getDay = function(){
		var day = null;
		var dateTime = this.getDateTime();
		if(dateTime != null){
			day = dateTime.getDate();
		}else{
			day = this.curDateTime.getDate();	
		}
		return day;
	};
	
	/**
	 * <code>getHour</code>方法取得24进制小时
	 * 
	 */
	this.getHour = function(){
		var hour = null;
		var dateTime = this.getDateTime();
		if(dateTime != null){
			hour = dateTime.getHours();
		}else{
			hour = this.curDateTime.getHours();	
		}
		return hour;
	};	
	
	/**
	 * <code>getMinute</code>方法取得分值
	 * 
	 */
	this.getMinute = function(){
		var minute = null;
		var dateTime = this.getDateTime();
		if(dateTime != null){
			minute = dateTime.getMinutes();
		}else{
			minute = this.curDateTime.getMinutes();
		}
		return minute;		
	};
	
		/**
	 * <code>getSecond</code>方法取得秒值
	 * 
	 */
	this.getSecond = function(){
		var second = null;
		var dateTime = this.getDateTime();
		if(dateTime != null){
			second = dateTime.getSeconds();
		}else{
			second = this.curDateTime.getSeconds();
		}
		return second;
	};
	
	
	/**
	 * <code>getDateRange</code>方法用于得到一天之内的时刻范围
	 * 
	 * @return range ["凌晨"|"上午"|"中午"|"下午"|"晚上"]
	 */
	this.getDateRange = function(){
		var hour = window.parseInt(this.getHour());
		var range = "凌晨"
		if(hour >= 6 && hour < 11){
			range = "早晨";
		}else if(hour >=11 && hour < 14){
			range = "中午";
		}else if(hour >=14 && hour <= 18){
			range = "下午";
		}else if(hour >18 && hour < 24){
			range = "晚上";
		}
		return range;
	};	
	/**
	 * <code>get12PatternHour</code>方法用于得到12进制小时值
	 * 
	 */
	this.get12PatternHour = function(){
		return hour>12?(hour+12-24):hour;
	};
	/**
	 * <code>isLeapYear</code>方法用于判断是否为闰年
	 * <p>
	 * 闰年算法说明:
	 * 能被4整除并且不能被100整除或者能被400整除的年份是闰年
	 */
	this.isLeapYear = function(){
		var flag = false;
		if((this.getYear() % 4 == 0 && this.getYear() % 100 !=0)
				|| (this.getYear() % 400 == 0)){
			flag = true;
		}		
		return flag;
	};
	

	/**
	 * <code>getMaxDaysByMonth</code>方法根据月份获取该月的最大天数
	 *  
	 */
	this.getMaxDaysByMonth = function(){
		var days = 31;
		var month = this.getMonth();
		switch(month){
			case 2:
				if(this.isLeapYear()){
					days = 29;
				}else{
					days = 28;
				}
				break;
			case 4:
			case 6:
			case 9:
			case 11:
				days = 30;
				break;
			default:
				break;
		}
		return days;
	}
}


/**
 * <code>isEmptyString</code>方法用于检查字符串是否为空字符串
 * <p>
 * @return boolean false → 不是空串	true → 是空串 
 */

function isEmptyStr(str){
	if(trim(str).length == 0 || str==null){
		return true;
	}else{				
		return false;
	}
}


/**
 * <code>isEqualString</code>方法用于检查两个字符串是否相等
 * <p>
 * @return	boolean false → 不相等 true → 相等
 */
function isEqualStr(str1,str2){
	if(str1 == str2){
		return true;
	}else{
		return false;
	}
}

/**
 * <code>isValidateCols</code>方法用于检查字符串是否是有效位数
 * <p>
 * @return boolean false → 不是制定位数 true → 是指定位数
 */
function isValidateMinCols(str,cols){
	if(str.length >= cols){
		return true;
	}else{
		return false;
	}
}

function isValidateMaxCols(str,cols){
	if(str.length <= cols){
		return true;
	}else{
		return false;
	}
}

function isValidateRangeCols(str,min,max){
	if(str.length >= min 
		&& str.length <=max){
		return true;
	}else{
		return false;
	}
}

/**
 * <code>isValidateEmail<code>方法用于检查email格式是否正确
 * <p>
 * @return boolean false → 无效Email true → 有效Email
 */
function isValidateEmail(email){
	 var emailPattern = "^(([0-9a-zA-Z]+)|([0-9a-zA-Z]+[_.0-9a-zA-Z-]*[0-9a-zA-Z]+))" +
	 			//"@([a-zA-Z0-9-]+[.])+([a-zA-Z]{2}|net|NET|com|COM|gov|GOV|mil" +
	 			"@([a-zA-Z0-9-]+[.])+(cn|net|NET|com|COM|gov|GOV|mil" +
	 			"|MIL|org|ORG|edu|EDU|int|INT)$"
     var re = new RegExp(emailPattern);
     if(re.test(email)){
     	return true;
     }else{
     	return false;
     }
}
/**
 * <code>trim</code>方法用于去掉字符串两边的空格
 * <p>
 */
function trim(str){	
	str = trimLeft(trimRight(str));
	return str;	
}

/**
 * <code>trimLeft</code>方法用于去除字符串左侧的空格
 * <p>
 * @param	str	预处理的字符串
 * @return	去掉左侧空格的字符串
 */
function trimLeft(str){	
	var pattern = /^\s/;
	while(pattern.test(str)){		
		str = str.substring(1);
	}	
	return str;
}

/**
 * <code>trimRight</code>方法用于去除字符串右侧的空格
 * <p>
 * @param	str	预处理字符串
 * @return	去掉右侧空格的字符串	
 */
function trimRight(str){
	var pattern = /\s$/;
	while(pattern.test(str)){
		str = str.substring(0,str.length-1);
	}
	return str;
}



 

分享到:
评论

相关推荐

    uni-app一些工具类

    它基于Vue.js,让你可以编写一次代码,然后在iOS、Android、H5、微信小程序、支付宝小程序等多个平台上运行。工具类(Utils)在任何开发项目中都扮演着至关重要的角色,它们通常包含了各种通用的功能和方法,以提高...

    js-xlsx二次简单封装工具

    因此,对js-xlsx进行二次封装,创建一个简洁易用的工具类,能够降低使用门槛,提高开发效率。这个封装工具通常会提供一些预设的常用功能,如设置默认样式、简化数据转换逻辑等。 **三、封装工具的使用** 1. **初始...

    微信小程序源码-小工具类.rar

    "微信小程序源码-小工具类.rar" 是一个包含微信小程序应用源代码的压缩文件,特别是针对“小工具”类别的应用。通过这个压缩包,开发者可以学习和理解小程序的开发过程,也可以直接用于自己的项目中,或者作为模板...

    ArcgiS二次开发常用术语

    在GIS(地理信息系统)开发中,ArcGIS二次开发是一项关键任务,它允许用户根据特定需求定制和扩展ArcGIS的功能。以下是一些ArcGIS二次开发中常见的专业术语,这些术语对于理解开发过程至关重要: 1. **ArcObjects**...

    微信小程序之封装常用的API接口请求以及工具类方法 (2).pdf

    在微信小程序开发中,封装常用的API接口请求和工具类方法是一项重要的工作,它能提高代码的复用性,降低维护成本,使项目更加模块化。本文将深入探讨如何实现这样的封装,以`Toast`功能为例,同时也会涉及到其他常见...

    常用js实例

    在“常用js实例”这个压缩包中,我们可以期待找到一系列已经编写好的JavaScript代码片段,这些实例可能涵盖了日常开发中的各种常见需求,方便开发者进行二次开发,快速实现特定功能。 首先,让我们探讨一下...

    16地信二次开发yangxia

    Python的语法简洁且易于学习,使得它成为GIS领域常用的二次开发语言。 3. **ArcPy**:这是Esri提供的Python库,专为ArcGIS设计,提供了丰富的地理处理函数和类,方便开发者使用Python进行GIS操作。 4. **ArcGIS ...

    CSS加JS常用正则表达式

    在网页开发中,CSS(层叠样式表)和JavaScript(JS)是不可或缺的两个部分,它们各自负责不同的功能,但又常需要相互配合。CSS主要负责网页的样式和布局,而JavaScript则处理交互和动态效果。正则表达式在JS中尤其...

    jsBezier是一个JavaScript库实现了贝塞尔曲线函数计算

    二次贝塞尔曲线增加了一个控制点,而三次贝塞尔曲线则包含四个控制点,它是最常用的一种,可以构建出丰富多样的曲线形态。 jsBezier 库的核心功能就是计算贝塞尔曲线上的任意点坐标。它通过解析输入的控制点数据,...

    html前端模板,可建站,可二次开发,大站风格,内含10套模板

    这个特定的压缩包文件包含的"html前端模板",正如标题和描述中提到的,是一个适合建站且可进行二次开发的资源集合,具有大站风格,这通常意味着它们设计得大气、专业,适合大型企业或门户类网站使用。内含10套不同的...

    vue-project:vue-router、vuex、axios二次封装、常用工具类的抽离、sass、element-ui自定义、vue-cli、webpack

    互联网的东西一个Vue.js项目构建设置# install dependenciesnpm install# serve with hot reload at localhost:8080npm run dev# build for production with minificationnpm run build# build for production and ...

    js限制文本框输入内容

    例如,结合HTML5的`pattern`属性可以在HTML层面对输入格式进行初步约束,再配合JavaScript进行二次校验。而`js限制文本框输入内容.htm`这个文件可能就是示例代码,展示了如何实现上述功能的实例。通过阅读和理解这个...

    openlayers常用功能简单封装

    本教程将深入探讨如何对OpenLayers的常用功能进行简单封装,以提升开发效率和代码复用性。 首先,我们从地图要素创建开始。在OpenLayers中,要素(Feature)是地图上的几何对象,可以是点、线或面。你可以通过`ol....

    百度编辑器二次开发常用手记整理小结

    在深入研究百度编辑器的二次开发过程后,开发者往往需要整理和归纳一些常用的开发技巧和方法,以便于后续的开发工作更加高效。本次手记整理小结涵盖了百度编辑器的基本创建、配置工具栏、命令工具按钮、右键按钮配置...

    mUtils:JavaScript常用方法

    关于mUtils产生背景这是关于个人日常比较通用代码的收集功能描述该方法一共包含以下属性,每个属性收集了对应的方法内容flexible移动端rem适配方案RequestUtils基于axios请求的二次封装FeedbackUtilsjs反馈类的封装...

    JS正则表达式(常用版)

    ### JS正则表达式(常用版) #### 一、简介 正则表达式在JavaScript编程中扮演着极其重要的角色,它是一种强大的文本处理工具,能够帮助开发者实现对字符串的搜索、替换以及提取等功能。本文将详细介绍JavaScript...

    JavaScript最常用的55个经典技巧

    这篇博客“JavaScript最常用的55个经典技巧”汇总了一些JavaScript开发者在实际工作中经常使用且非常实用的技术点,旨在提升编程效率和代码质量。我们将深入探讨这些技巧,以便更好地理解和应用。 1. **立即执行...

    地理信息系统二次开发Flash

    Flash作为GIS二次开发的一种工具,以其优秀的可视化和交互能力,为GIS应用提供了丰富的展现形式。开发者需要深入理解GIS的数据模型和编码方法,同时掌握Flash编程技术,才能构建出既美观又实用的GIS应用。随着技术的...

    iOS基于WKWebView的二次封装webview.zip

    通常二次封装会包含一些常用功能,如加载URL、注入JavaScript、处理页面跳转、进度条显示、拦截请求等,使得开发者在实际应用中可以快速集成和定制。 3. **功能丰富** 该项目描述中提到功能丰富,可能包括但不限于...

    通达oa2015二次开发文档

    ### 通达OA2015二次开发文档 #### 软件开发环境简介 **通达OA2015**是一款成熟的办公自动化系统,在此基础上进行二次开发可以满足企业的个性化需求。二次开发需要对系统的软件开发环境有充分的了解。 ##### 编程...

Global site tag (gtag.js) - Google Analytics