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

常用JavaScripts函数
/**
* 判断客户端浏览器类型的变量
*/
var isIE = (navigator.appName == 'Microsoft Internet Explorer');
var isNetscape = (navigator.appName == 'Netscape');

/**
* 清空页面所有输入框的内容,包括文本和密码
*/
function clearInput()
{
	var allInput = document.getElementsByTagName("input");
	for(var i=0; i<allInput.length; i++)
	{
		var tagBody = allInput[i];
		if (tagBody.getAttribute("type") == "text"||tagBody.getAttribute("type") == "password")
		{
			tagBody.value= "";
		}
	}
}

/**
* 检验字符串是否为空
* @param {String} 字符串
* @return {bool} 是否为空
*/
function isEmpty(input)
{
	if( input==null ||  trim(input).length == 0 || input == 'null')
		return true;
	else
		return false;
}

/**
* 检查字符串的长度
* @param {String} 字符串
* @param {Integer} 要比较的长度
* @return {bool} true:变量长度<给出的长度;false:变量长度>=给出的长度
*/
function isShorter(str,reqlength)
{
	if( str.length<reqlength )
		return true;
	else
		return false;
}

/**
* 检查字符串是否是整数
* @param {String} 字符串
* @return {bool} 是否是整数
*/
function isInteger( s )
{ 
	var isInteger = RegExp(/^[0-9]+$/);
	return ( isInteger.test(s) );
}

/**
* 检查字符串是否是字母
* @param {String} 字符串
* @return {bool} 是否是字母
*/
function isChar( s )
{ 
	var isInteger = RegExp(/^[a-zA-Z]+$/);
	return ( isInteger.test(s) );
}
/**
* 判断输入变量是否是实数
* @param {String} 要检查的变量值
* @return {bool} 是否为实数
*/
function isDecimal( s )
{
	var isDecimal = RegExp(/^([0-9]+(\.?))?[0-9]+$/);
	return ( isDecimal.test(s) );
}

/**
* 判断输入变量是否是数字或者字母
* @param {String} 要检查的变量值
* @return {bool} 是否为数字或者字母
*/
function isIntChar( s )
{
 	var isIntChar = RegExp(/^[a-zA-Z0-9]+$/);
	return ( isIntChar.test(s) );
 }

/**
* 判断输入变量是否是数字或者字母或者特殊字符
* 特殊字符:|_ - * & % $ # @ ! ~ ^ ( )
* @param {String} 要检查的变量值
* @return {bool} 是否为数字或者字母或者特殊字符
*/
function isIntCharSpecial( s )
{
	var isIntCharSpecial = RegExp(/^[a-zA-Z0-9(\|)(\_)(\-)(\*)(\&)(\%)(\$)(\#)(\@)(\!)(\~)(\^)(\()(\))]+$/);
	return ( isIntCharSpecial.test(s) );
}

/**
* 判断输入变量是否包含数字或者字母
* @param {String} 要检查的变量值
* @return {bool} 是否包含数字或者字母
*/
function containIntChar( s )
{
	var containIntChar = RegExp(/[a-zA-Z0-9]+/);
	return ( containIntChar.test(s) );
}  

/**
* 判断输入变量是否包含特殊字符
* 特殊字符:~ ! @ # $ % ^ & * ( ) - _ + = [ ] { } | \ ; : ' " , . / < > ? <
* @param {String} 要检查的变量值
* @return {bool} 是否包含特殊字符
*/
function containSpecial( s )
{
	var containSpecial = RegExp(/[(\ )(\~)(\!)(\@)(\#)(\$)(\%)(\^)(\&)(\*)(\()(\))(\-)(\_)(\+)(\=)(\[)(\])(\{)(\})(\|)(\\)(\;)(\:)(\')(\")(\,)(\.)(\/)(\<)(\>)(\?)(\)]+/);
	return ( containSpecial.test(s) );
}

/**
* 检查字符串是否为合法email地址
* @param {String} 字符串
* @return {bool} 是否为合法email地址
*/
function isEmail(s) 
{
	var isEmail = RegExp(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/);
	return ( isEmail.test(s) );
}

/**
* 若为null则替换为指定的字符串
* @param {String} 要测试的字符串
* @param {String} 为空时替换的字符串
* @return {String} 
*/
function nvl(s,replaceString)
{
	if ( isEmpty(s) )
		return replaceString;
	else
		return s;
} 

/**
* 将页面中或指定表格ID的所有checkbox置为选中状态或全不选状态
* @param {bool} choose: true选中;false不选
* @param {string} tableID:要指定的表格ID
*/
function selectAll(choose,tableID)
{
	var allCheck;
	if (arguments.length == 1) {
       allCheck =  document.getElementsByTagName("input");
    }else{
	   allCheck =  document.getElementById(tableID).getElementsByTagName("input");
    }
	 
	for(var i=0; i<allCheck.length; i++){
		var tagBody = allCheck[i];
		if (tagBody.getAttribute("type") == "checkbox")
		{
			tagBody.checked= choose;
		}
	}
}

/**
* 取得页面中的所有选中的checkbox的id列表
* @return {String} 以'|'分隔的选中id,如果没有选中任何checkbox则返回空串
*/
function getCheckList()
{	
	var checkList = '';
	var allCheck = document.getElementsByTagName("input");
	for(var i=0; i<allCheck.length; i++)
	{
		var tagBody = allCheck[i];
		if (tagBody.getAttribute("type") == "checkbox")
		{
			if ( tagBody.checked && !isEmpty(tagBody.id) )
			{
				checkList += tagBody.id  + '|';
			}
		}
	}
	return checkList;
}


/**
* 取得指定的radio按钮的选中值
* @param {String} radio按钮ID
* @return {S