`

js工具类

    博客分类:
  • js
 
阅读更多
/**************************   
**********************************************************************************************/

/**************************************************************
 获取文本框的值并转换成Float类型返回
**************************************************************/
function $Float(el){	
	return Util.parseFloat($F(el));
}

/**************************************************************
 获取文本框的值并转换成Integer类型返回
**************************************************************/
function $Integer(el){
	return Util.parseInteger($F(el));
}

/**************************************************************
 设置文本框的值
**************************************************************/
function $Set(el, value){
	$(el).value = value;
}


/**************************************************************
 工具类Util
**************************************************************/
var Util = {};

/**************************************************************
 格式化字符串,使用方式类似java中的String.format()方法
**************************************************************/
Util.format = function(format){
    var args = [];
    for(var i=1; i<arguments.length; i++){
    	args.push(arguments[i]);
    }
    
    return format.replace(/\{(\d+)\}/g, function(m, i){
        return args[i];
    });
}

/**************************************************************
判断字符串是否为空
**************************************************************/
Util.strIsEmpty = function(str){
	return str == null || !str || typeof str == undefined || str == '';
}

/**************************************************************
将传入值转换成整数
**************************************************************/
Util.parseInteger = function(v){		 
	if(typeof v == 'number'){
		return v;
	}else if(typeof v == 'string'){
		var ret = parseInt(v);
		
		if(isNaN(ret) || !isFinite(ret)){
			return 0;
		}
		
		return ret;
	}else{
		return 0;
	} 
}

/**************************************************************
将传入值转换成小数
**************************************************************/
Util.parseFloat = function(v){
	if(typeof v == 'number'){
		return v;
	}else if(typeof v == 'string'){
		var ret = parseFloat(v);		
		if(isNaN(ret) || !isFinite(ret)){
			return 0;
		}
		
		return ret;
	}else{
		return 0;
	} 
}

/**************************************************************
将传入值转换成小数,传入值可以是以逗号(,)分隔的数字,此方法将会过滤掉(,)
**************************************************************/
Util.parseDotFloat = function(v){
	if(typeof v == 'number'){
		return v;
	}else if(typeof v == 'string'){			
		v = v.replace(/[^\d|.]/g , '');
		v = parseFloat(v);
		
		if(isNan(v) || !isFinite(v)){
			return 0
		}
		return ret;
	}else{
		return 0;
	}	
}

/**************************************************************
 添加事件
**************************************************************/
Util.addEventListener = function(element, event, handler, param){
	param.scope = param.scope || element;

	if(typeof element == 'string'){
		element = $(element);
	}
	
	var h = function(){
		handler.call(param.scope, param);
	}
	 	
	if(element.attachEvent){
		element.attachEvent('on' + event, h);

	}else if(element.addEventListener){
		element.addEventListener(event, h, false);
		
	}else{
		element['on' + event] = h;
	}
}

/**************************************************************
检查标签值是否为空,当为空时提示

@param el {Element, string}检查的标签
@param msg {string}提示消息,当检查失败时提示
@return true检查通过,标签的值不空,false标签值为空 
**************************************************************/
Util.checkIsNotEmpty = function(el, msg){
	if(typeof el == 'string'){
		el = $(el);
	}
	
	if(Util.strIsEmpty(el.value)){
		alert(msg);
		if(!el.disabled){
			el.focus();
			el.select();
		}		
		return false;
	}
	return true;
}

/**************************************************************
字符串传换成date类型

@str {string}字符串格式表示的日期,格式为:yyyy-mm-dd
@return {Date}由str转换得到的Date对象
**************************************************************/
Util.str2date = function(str){
	var   re   =   /^(\d{4})\S(\d{1,2})\S(\d{1,2})$/;   
 	var   dt;   
 	if(re.test(str)){   
   		dt   =   new   Date(RegExp.$1,RegExp.$2   -   1,RegExp.$3);   
 	} 
	return dt;
}

/**************************************************************
计算2个日期之间的天数

@day1 {Date}起始日期
@day2 {Date}结束日期
@return day2 - day1的天数差
**************************************************************/	
Util.dayMinus = function(day1, day2){
	var days = Math.floor((day2-day1)/(1000 * 60 * 60 * 24));
	return days;
}

/**************************************************************
设置组合列表框选择项

@param combo 组合列表框
@param value 选择值
@param defaultIdx 默认选中项的序号
**************************************************************/	
Util.setComboSelected = function(combo, value, defaultIdx){
	if(typeof combo == 'string'){
		combo = $(combo);
	}
 
  	
	var idx = defaultIdx;
	if(typeof defaultIdx == 'undefined'){
		idx = -1;
	}
	
	for(var i=0, len=combo.options.length; i<len; ++i){
		var v = combo.options[i].value;	 
		if(v == value){
			idx = i;			
			break;
		}
	}	 
	
	combo.selectedIndex = idx;
} 

/**************************************************************
字符串转换成日期 
@param str {String}字符串格式的日期
@return {Date}由字符串转换成的日期
**************************************************************/	
Util.str2date = function(str){
	var   re   =   /^(\d{4})\S(\d{1,2})\S(\d{1,2})$/;   
 	var   dt;   
 	if   (re.test(str)){   
   		dt   =   new   Date(RegExp.$1,RegExp.$2   -   1,RegExp.$3);   
 	} 
	return dt;
}

/**************************************************************
 计算2个日期间的天数差
 
@param day1 {Date}开始日期
@param day2 {Date}结束日期
@return 天数差
**************************************************************/
Util.dayInterval = function(day1,day2){
	var days = Math.floor((day2-day1)/(1000 * 60 * 60 * 24));
	return days;
}
 

 

分享到:
评论

相关推荐

    js工具类 使用说明方法介绍同步博客

    在本篇中,我们将深入探讨“js工具类”的使用方法,并结合“bee.js”与“bee.min.js”这两个文件进行说明。 首先,“bee.js”和“bee.min.js”都是JavaScript工具类库的实现。其中,“bee.min.js”是经过压缩和优化...

    JS工具类

    JavaScript(简称JS)工具类是开发过程中不可或缺的一部分,它们提供了一系列通用的方法,帮助开发者更高效地处理各种编程任务。在给定的“JS工具类”主题中,我们重点关注了一个名为`FloatArithUtil.js`的文件,这...

    javascript后台调用的工具类

    "javascript.cs" 这个文件名暗示了这是一个用C#编写的JavaScript工具类。C#是一种面向对象的编程语言,常用于构建Windows应用程序和服务器端应用程序,包括ASP.NET Web应用。通过C#,开发者可以创建JavaScript库或...

    非常不错的js工具类

    该js工具类包含项目常用的字符长度判断,日期处理,数据类型和有效性的检验,以及各种可以直接用于项目的工具。

    three.js工具类

    ### three.js工具类知识点 #### 一、Three.js概述与模型加载 - **Three.js**:是一个基于WebGL的3D库,它简化了复杂的3D图形编程,并提供了丰富的API来帮助开发者创建交互式的3D应用程序。 - **模型加载**:在本...

    js工具类 弹窗

    在JavaScript编程中,工具...通过以上讨论,我们可以看出"js工具类 弹窗"是一个涉及HTML结构设计、CSS样式定制和JavaScript事件处理的综合实践。将弹窗功能封装为工具类,有助于提升代码的可重用性和项目整体的组织性。

    银行卡号正则校验js工具类

    银行卡号正则校验js工具类

    封装js工具类

    ### 封装JS工具类 #### 1. Echo 方法 该方法的功能是向客户端输出指定的消息。 ```csharp public static void Echo(string msg) { HttpContext.Current.Response.Write(msg); } ``` 通过`HttpContext.Current....

    加密js工具类:base64,md5,sha1

    这里我们将深入探讨这些工具类在JavaScript中的应用。 **Base64**是一种用于在网络上传输二进制数据的编码方式。它将任意可打印字符转换为一个长度为4的字符序列,每个字符来自"ASCII可打印字符"集合,包括'0'-'9'...

    qrcode的javascript工具类

    JS生成QrCode的工具类,微信支付宝等支付URL可以用这个

    前端javascript工具类

    里面是一些我常用的js工具类,以对象形式添加。包含了ES6语法,可修改。绝大部分有方法介绍。并不是特别全面,有需要的或者有什么好的方法可以告诉我,让我也学习一下。

    JS(javascript)-md5加密工具类

    JavaScript中的MD5加密工具类是用于对数据进行安全哈希的一种方法,广泛应用于密码存储、数据完整性校验等场景。MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,它能将任意长度的输入转化为固定长度的...

    JavaScript工具类函数库

    本资源是一个精心编写的JavaScript工具类函数库,包含了多种实用的日期处理、数值计算、字符串操作等工具函数。它提供了如日期格式化、天数判断、数组处理等功能,适用于前端开发中的各种场景。函数库采用ES6模块化...

    真实项目中用到的javascript工具类

    真实项目中用到的javascript工具类,真实项目中用到的javascript工具类

    MD5.js工具类

    MD5.js工具类是用于处理MD5加密的JavaScript库,主要应用于前端开发或者任何需要在浏览器环境中进行数据安全处理的场景。MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,能够将任意长度的数据转化为...

    自定义javascript 工具类

    自定义javascript 工具类

    dateUtil js工具类

    dateUtil js工具类

    mapUtil js工具类

    mapUtil js工具类

    OpenLayers 画点、线、及删除点、线 封装的js工具类

    在这个"OpenLayers 画点、线、及删除点、线 封装的js工具类"中,我们可以找到一系列实用的功能,方便开发者快速实现地图上的绘图和编辑操作。 首先,让我们详细了解如何在OpenLayers中绘制点和线: 1. **绘制点**...

    easyUI开发时常用的超牛javascript工具类

    easyUI开发时常用的超牛javascript工具类

Global site tag (gtag.js) - Google Analytics