日期:2014-05-16  浏览次数:20382 次

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 =