一个js验证类

//*******************************************************************
//作者: 丁伯洋

//日期: 2006-4-27
//概要: 这里主要放的是一些检查合法性的函数
//      以_开头的函数请不要调用,
//*******************************************************************

// *********************************************************************************************** //
// function getStrLength(value):                    获取字符串实际长度,对于汉字作了处理。
// function checkStrLength(value,maxLen)):          检查字符串的长度,对于汉字作了处理。
// function checkEmail(value):                      检查Email是否合法。
// function isVaildEmail()                          检查Email是否合法(旧版网才检查邮件地址合法性)。
// function checkPhone(value):                      检查电话号码是否合法。
// function checkPostalcode(value):                 检查邮编是否合法。

// function checkCharWithNoException(value):        检查是否有不合法的字符,返回布尔值。
// function checkCharThrowErrorStr(value):          检查是否有不合法的字符,直接抛出异常字符串。
// function checkCharThrowErrorObj(value):          检查是否有不合法的字符,直接抛出异常对象。
        
// function formatNumber(value,precision):          按精度格式化浮点数,也可将精度设为-1则只进行检查数据的合法性。
// function formatCurrency(value,precision):        按精度格式化货币,也可将精度设为-1则只进行检查数据的合法性。
// function changeCurrencyToBig(value):             将货币金额转换成中文大写。
// function formatDate(value,formatstring):         将11位的日期(比如YYYY-MM-DD)转化为8位的字符串(YYYYMMDD)。
// function unFormatDate(value,formatstring):       将标准化的日期(YYYYMMDD)格式化成指定字符分割的日期格式(比如YYYY-MM-DD)。

// function trim(value):                            删除两端空格。
// function getMainPath():                          返回系统主页的完整路径。
// function getVirtualPath():                       返回虚拟目录的路径。
// function exitCurrentPage():                      关闭当前页面。
// function popWelcomeInfo:                         右键欢迎信息。

// function OpenDivMask():                          打开遮挡层同时把下拉筐隐藏。
// function CloseDivMask():                         关闭遮挡层同时把下拉筐显示。
// function ChangeForeColor():                      改变事件源字体颜色。
// function HasHtmlTag(val)                         判断内容中是否含有html标签
// function post_to_url(path, params, formName)     用于向指定页面提交数据,Sample:post_to_url(window.location.href,{'pwd':'111111', 'username':'admin'});
// function ShowMsg(Message,Title,LanType,OpenMask) 显示信息,函数会自动创建一个"p_msgbox"DIV,提示信息显示在里面
// function CloseMsg()                              与ShowMsg配套,用于关闭提示层
// function MoveToCenter(box,width,height)          把Div移动到屏幕中央     
// function GetUrlQuerystring(paras)                js获取url参数方法
// function IsContainsChinese(value)                字符是否是中文、全角字符
// function IsForbiddenUrl(value,type)              是否是禁用Url
// function ToHalfCharacter(val)                    全角转半角
// function isLegalName(str)                        检查是否为合法字符
// function isCharCodeValid(code,arr)               单个检查char字符是否为合法字符
// function in_arr(arr,val)                         查看val是否存在于arr数组中

// function onlyNum(event)                          只允许输入数字(@param event:事件)
// function getId()                                 返回对象
// function posMouseToLast(text)                    定位鼠标到文本框最后(@param text:文本框)
// function centerDialog(id)                        弹层屏幕居中(@param id:弹层id[带#号])
// window.dialog = {}                               自定义消息弹出框[alert、confirm] 
// function getSubBytes(value, len)                 根据文字的字数是否超限制,增加...(@param value:文本,@param len:截取字段长度)
// function htmlEncode(input)                       编码文字(@param input:文字)

// *********************************************************************************************** //

// *********************************************************************************** //
// function getStrLength(value)
// -----------
// 功能:获取字符串实际长度
// 传入参数:
// value:要进行检查的数字
// 返回值:false: 超长  true:合法
// *********************************************************************************** //
function getStrLength(value){  
	var str,Num = 0;
	for (var i=0;i<value.length;i++){
		str = value.substring(i,i+1);
		if (str<="~")  //对双字节字特殊处理
			Num+=1;
		else
			Num+=2;
	}
	return Num;
}
// *********************************************************************************** //
// function checkStrLen(value,maxLen)
// --------------
// 功能:检查字符串的长度,对于汉字作了处理
// 传入参数:
//              value:  要进行检查的数字
//				maxLen:  长度
// 传出结果:   返回是否合法  false: 超长  true:合法

// *********************************************************************************** //
function checkStrLength(value,maxLen){  
	var str,Num = 0;
	for (var i=0;i<value.length;i++){
		str = value.substring(i,i+1);
		if (str<="~")  //对双字节字特殊处理

			Num+=1;
		else
			Num+=2;

		if (Num>maxLen)
		  return false;
	}
	return true;
}
// *********************************************************************************** //
// function checkEmail(value)
// --------------
// 功能:检查Email是否合法
// 传入参数:
//               value:  要进行检查的Email地址
// 传出结果:    返回是否合法  false: 错误  true:合法

// *********************************************************************************** //
function checkEmail(s)
{
	/*value = trim(value);
	var emailexp = /^$|^[a-z][a-z_0-9\.]+@[a-z_0-9\.]+\.[a-z]+$/i;
	return emailexp.test(value);*/
	
	
	
	//changed by jeron 20090511
	var flag=false;//标识是否是合法的Email
	//var reg=/^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@(([0-9a-zA-Z])+([-\w]*[0-9a-zA-Z])*\.)+[a-zA-Z]{2,9})$/;
	//var reg=/^(([0-9a-zA-Z]+)|([0-9a-zA-Z]+[_.0-9a-zA-Z-]*))@([a-zA-Z0-9-]+[.])+([a-zA-Z]{2}|net|com|gov|mil|org|edu|int|name|asia|NET|COM|GOV|MIL|ORG|EDU|INT|NAME|ASIA)$/;	
	var reg=/^(([0-9a-zA-Z]+)|([0-9a-zA-Z]+[_.0-9a-zA-Z-]*))@([_.0-9a-zA-Z-]+[.])+([0-9a-zA-Z]{1,})$/;//changed by jeron 20090519
	flag=RegExp(reg).test(trim(s));
	if(!flag){
	    		
		return false;
	}
	/*
	
	var i = 1;
    var len = s.length;	
	pos1 = s.indexOf("@");
	pos2 = s.indexOf(".");
	pos3 = s.lastIndexOf("@");
	pos4 = s.lastIndexOf(".");
	if ((pos1 <= 0)||(pos1 == len)||(pos2 <= 0)||(pos2 == len))  
	{		
		return false;
	}
	else
	{
		if( (pos1 == pos2 - 1) || (pos1 == pos2 + 1)|| ( pos1 != pos3 )|| ( pos4 < pos3 ) ) 		
		{		
			return false;
		}
	}
	*/
	return true;
}

// *********************************************************************************** //
// function isVaildEmail()
// --------------
// 功能:检查Email是否合法(旧版网才检查邮件地址合法性)
// 传出结果:    
// *********************************************************************************** //
//added by huanghui 使用了51job的email正则表达式
function isVaildEmail(s)
{
try{   
        if (s.length > 100)
        {
               // window.alert(errtip);
                return false;
        }
		s = s.toLowerCase()
		var regu = "^(([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|MIL|org|ORG|edu|EDU|int|INT|name|NAME)$";
		var re = new RegExp(regu);
         if (s.search(re) != -1) {
               return true;
         } else {
               //window.alert (errtip);
               return false;
         }
   }catch(er){
       throw er;       
   }
}

function isVaildEmail_old(s)
{
    var i = 1;
    var len = s.length;	
	pos1 = s.indexOf("@");
	pos2 = s.indexOf(".");
	pos3 = s.lastIndexOf("@");
	pos4 = s.lastIndexOf(".");
	if ((pos1 <= 0)||(pos1 == len)||(pos2 <= 0)||(pos2 == len))  
	{		
		return false;
	}
	else
	{
		if( (pos1 == pos2 - 1) || (pos1 == pos2 + 1)|| ( pos1 != pos3 )|| ( pos4 < pos3 ) ) 		
		{		
			return false;
		}
	}
	return true;
}
// *********************************************************************************** //
// function checkPhone(value)
// --------------
// 功能:检查电话号码是否合法
// 传入参数:
//               value:  要进行检查的电话号码
// 传出结果:    返回是否合法  false: 错误  true:合法

// *********************************************************************************** //
function checkPhone(value)
{
	value = trim(value);
	var phoneexp = /^$|^[+0-9(][0-9\-\*()]+[0-9)]$/;
	return phoneexp.test(value);	
}

// *********************************************************************************** //
// function checkPostalcode(value)
// --------------
// 功能:检查邮编是否合法
// 传入参数:
//               value:  要进行检查的邮编
// 传出结果:    返回是否合法  false: 错误  true:合法

// *********************************************************************************** //
function checkPostalcode(value)
{
	value = trim(value);
	var phoneexp = /^$|^\d{6}$/;
	return phoneexp.test(value);	
}

// *********************************************************************************** //
// function checkCharWithNoException(value)
// --------------
// 功能:检查是否有不合法的字符,返回布尔值
// 传入参数:
//               value:  要进行检查的字符串
// 传出结果:    若有不合法字符抛出异常
// *********************************************************************************** //
function checkCharWithNoException(value)
{
	var chars="_'%\*&\+#"+'"';
	var regex = new RegExp("["+chars+"]");
	if(regex.test(value))
		return false;
	return true;		
}

// *********************************************************************************** //
// function checkCharThrowErrorStr(value)
// --------------
// 功能:检查是否有不合法的字符,直接抛出异常信息字符串

// 传入参数:
//               value:  要进行检查的字符串
// 传出结果:    若有不合法字符抛出提示字符串
// *********************************************************************************** //
function checkCharThrowErrorStr(value)
{
	var chars="_'%\*&\+#"+'"';
	var regex = new RegExp("["+chars+"]");
	if(regex.test(value))
		throw "不允许包含 "+chars+" 等特殊字符";	
	if (value.indexOf("--")>=0)
		throw "不允许包含--字符";
	return true;
}
// *********************************************************************************** //
// function checkCharThrowErrorStr(value)
// --------------
// 功能:检查是否有不合法的字符,直接抛出异常对象
// 传入参数:

//               value:  要进行检查的字符串

// 传出结果:    若有不合法字符抛出提示字符串
// *********************************************************************************** //
function checkCharThrowErrorObj(value)
{
	var chars="_'%\*&\+#"+'"';
	var regex = new RegExp("["+chars+"]");
	if(regex.test(value))
		throw new Error("不允许包含 "+chars+" 等特殊字符");	
	if (value.indexOf("--")>=0)
		throw new Error("不允许包含--字符");
	return true;
}


// *********************************************************************************** //
// function formatNumber(value,precision)
// --------------
// 功能:按精度格式化浮点数,也可将精度设为-1则只进行检查数据的合法性
// 传入参数:   value: 要进行检查的数字
//				precision:精度数
// 传出结果:   格式化后的值
// *********************************************************************************** //
function formatNumber(value,precision)
{
	var strErr;
	var num;
	var s_value,decimal_value;
	var decimal_sect,interger_sect;
	var strArrSect,strArr;
    var defautValue;
    if (precision>0)
    {
       defautValue="0.";
       var i = 0;
       while( i < precision)
       {
          defautValue =defautValue +"0";
          i++;
       }
    }
    else
    {
       defautValue = "0";
    }
	if(trim(value)=="")   //数据为空时返回

		value="0";
	if (isNaN(value))   //数据非法时提示,并返回空串

	{
		strErr = "数据"+value+"非法!";
		throw new Error(strErr);
		return defautValue;
	}
	if (precision==-1)   //只作检查时精度为-1
		return Number(value);
	try
	{
	    s_value = value.toString()+".";
	    strArrSect = s_value.split(".");
	    
	    if(typeof(strArrSect[1])=='undefined')
		{
			strArrSect[1]=0;
		}
		integer_sect = strArrSect[0];
	    decimal_sect = "0."+strArrSect[1];
	    
	    
		num = Math.pow(10,precision);
		decimal_value = Math.round(decimal_sect*num)/num;
		decimal_value = decimal_value.toString();
		decimal_value = decimal_value+".";
		strArr = decimal_value.split(".");
		if(typeof(strArr[1])=='undefined')
		{			
			strArr[1] = "";
		}
		while(strArr[1].length<precision)
		{
			strArr[1] = strArr[1]+"0"
		}
		if(precision!=0)
			s_value = integer_sect+"."+strArr[1];
		else
			s_value = integer_sect;
		return s_value;    //成功时返回格式化后的值

	}
	catch(err)
	{
		throw new Error(err.description);
		return value;      //若失败则返回原值

	}
}
// *********************************************************************************** //
// function formatCurrency(value,precision)
// --------------
// 功能:按精度格式化货币,也可将精度设为-1则只进行检查数据的合法性,
// 以货币的形式显示,如20,000,000.00
// 传入参数:   value: 要进行检查的数字
//				precision:精度数
// 传出结果:   格式化后的值
// *********************************************************************************** //
function formatCurrency(value,precision)
{
	var strErr;
	var num;
	var f_value,s_value;
	var strArr

	if(trim(value)=="")   //数据为空时返回
		return "";
	if (isNaN(value))   //数据非法时提示,并返回空串

	{
		strErr = "数据"+value+"非法!";
		throw new Error(strErr);
		return "0";
	}
	if (precision==-1)   //只作检查时精度为-1
		return value;
	try{
		num = Math.pow(10,precision);
		f_value = Math.round(value*num)/num;
		s_value = f_value.toString();
		s_value = s_value+".";
		strArr = s_value.split(".");
		if(typeof(strArr[1])=='undefined')
		{
			strArr[1] = strArr[1].toString();
			strArr[1] = "";
		}
		while(strArr[1].length<precision)
		{
			strArr[1] = strArr[1]+"0"
		}
		var l = parseInt(strArr[0].length)%3 ;
		s_value = strArr[0].substring(0,l); 
		var len= parseInt(parseInt(strArr[0].length)/3);
		for(i=0; i<len ;i++)
		{
		  if(l != 0)
		  {
		    s_value +=",";
		  }
		  s_value += strArr[0].substring(l,l+3); 
		  l+=3;
		}
		if(precision!=0)
			s_value = s_value+"."+strArr[1];
		else
			s_value = s_value;
		return s_value;    //成功时返回格式化后的值

	}catch(err){
		throw new Error(err.description);
		return value;      //若失败则返回原值

	}
}


// *********************************************************************************** //
// function changeCurrencyToBig(value)
// --------------
// 功能:将金额转换成中文大写
// 传入参数:
//              value: 要进行转换的金额
//              psType:转换方式  1:数字转换   0:人民币币转换
// 传出结果:   转换后的结果
// *********************************************************************************** //
function changeCurrencyToBig(value,psType)
{
	var intFen,i;
	var strArr,strCheck,strFen,strDW,strNum,strBig,strNow;

	if(trim(value)=="")   //数据为空时返回"零"
		return "零";
	if (isNaN(value))   //数据非法时提示,并返回空串

	{
		strErr = "数据"+value+"非法!"
		alert(strErr);
		return "";
	}
	strCheck = value+".";
	strArr = strCheck.split(".");
	strCheck = strArr[0];
	if(strCheck.length>12)   //数据大于等于一万亿时提示无法处理

	{
		strErr = "数据"+value+"过大,无法处理!"
		alert(strErr);
		return "";
	}
	try
	{
		i = 0;
		strBig = "";
		intFen = value*100;          //转换为以分为单位的数值

		strFen = intFen.toString();
		strArr = strFen.split(".");
		strFen = strArr[0];
		intFen = strFen.length;      //获取长度
		strArr = strFen.split("");	//将各个数值分解到数组内

		while(intFen!=0)   //分解并转换

		{
			i = i+1;
			switch(i)              //选择单位
			{
				case 1:strDW = "分";break;
				case 2:strDW = "角";break;
				case 3:strDW = "元";break;
				case 4:strDW = "拾";break;
				case 5:strDW = "佰";break;
				case 6:strDW = "仟";break;
				case 7:strDW = "万";break;
				case 8:strDW = "拾";break;
				case 9:strDW = "佰";break;
				case 10:strDW = "仟";break;
				case 11:strDW = "亿";break;
				case 12:strDW = "拾";break;
				case 13:strDW = "佰";break;
				case 14:strDW = "仟";break;
			}
			switch (strArr[intFen-1])              //选择数字
			{
				case "1":strNum = "壹";break;
				case "2":strNum = "贰";break;
				case "3":strNum = "叁";break;
				case "4":strNum = "肆";break;
				case "5":strNum = "伍";break;
				case "6":strNum = "陆";break;
				case "7":strNum = "柒";break;
				case "8":strNum = "捌";break;
				case "9":strNum = "玖";break;
				case "0":strNum = "零";break;
			}

			//处理特殊情况
			strNow = strBig.split("");
			//分为零时的情况

			if((i==1)&&(strArr[intFen-1]=="0"))
				strBig = "整";
			//角为零时的情况

			else if((i==2)&&(strArr[intFen-1]=="0"))
			{    //角分同时为零时的情况
				if(strBig!="整")
					strBig = "零"+strBig;
			}
			//元为零的情况
			else if((i==3)&&(strArr[intFen-1]=="0"))
				strBig = "元"+strBig;
			//拾-仟中一位为零且其前一位(元以上)不为零的情况时补零

			else if((i<7)&&(i>3)&&(strArr[intFen-1]=="0")&&(strNow[0]!="零")&&(strNow[0]!="元"))
				strBig = "零"+strBig;
			//拾-仟中一位为零且其前一位(元以上)也为零的情况时跨过

			else if((i<7)&&(i>3)&&(strArr[intFen-1]=="0")&&(strNow[0]=="零"))
				{} 
			//拾-仟中一位为零且其前一位是元且为零的情况时跨过
			else if((i<7)&&(i>3)&&(strArr[intFen-1]=="0")&&(strNow[0]=="元"))
				{}
			//当万为零时必须补上万字

			else if((i==7)&&(strArr[intFen-1]=="0"))
				strBig ="万"+strBig;
			//拾万-仟万中一位为零且其前一位(万以上)不为零的情况时补零

			else if((i<11)&&(i>7)&&(strArr[intFen-1]=="0")&&(strNow[0]!="零")&&(strNow[0]!="万"))
				strBig = "零"+strBig;
			//拾万-仟万中一位为零且其前一位(万以上)也为零的情况时跨过

			else if((i<11)&&(i>7)&&(strArr[intFen-1]=="0")&&(strNow[0]=="万"))
				{}
			//拾万-仟万中一位为零且其前一位为万位且为零的情况时跨过

			else if((i<11)&&(i>7)&&(strArr[intFen-1]=="0")&&(strNow[0]=="零"))
				{}
			//万位为零且存在仟位和十万以上时,在万仟间补零
			else if((i<11)&&(i>8)&&(strArr[intFen-1]!="0")&&(strNow[0]=="万")&&(strNow[2]=="仟"))
				strBig = strNum+strDW+"万零"+strBig.substring(1,strBig.length);
			//单独处理亿位
			else if(i==11)
			{
				//亿位为零且万全为零存在仟位时,去掉万补为零

				if((strArr[intFen-1]=="0")&&(strNow[0]=="万")&&(strNow[2]=="仟"))
					strBig ="亿"+"零"+strBig.substring(1,strBig.length);
				//亿位为零且万全为零不存在仟位时,去掉万

				else if((strArr[intFen-1]=="0")&&(strNow[0]=="万")&&(strNow[2]!="仟"))
					strBig ="亿"+strBig.substring(1,strBig.length);
				//亿位不为零且万全为零存在仟位时,去掉万补为零
				else if((strNow[0]=="万")&&(strNow[2]=="仟"))
					strBig = strNum+strDW+"零"+strBig.substring(1,strBig.length);
				//亿位不为零且万全为零不存在仟位时,去掉万	
				else if((strNow[0]=="万")&&(strNow[2]!="仟"))
					strBig = strNum+strDW+strBig.substring(1,strBig.length);	
				//其他正常情况
				else
						strBig = strNum+strDW+strBig;
			}
			//拾亿-仟亿中一位为零且其前一位(亿以上)不为零的情况时补零

			else if((i<15)&&(i>11)&&(strArr[intFen-1]=="0")&&(strNow[0]!="零")&&(strNow[0]!="亿"))
				strBig = "零"+strBig;
			//拾亿-仟亿中一位为零且其前一位(亿以上)也为零的情况时跨过

			else if((i<15)&&(i>11)&&(strArr[intFen-1]=="0")&&(strNow[0]=="亿"))
				{}
			//拾亿-仟亿中一位为零且其前一位为亿位且为零的情况时跨过

			else if((i<15)&&(i>11)&&(strArr[intFen-1]=="0")&&(strNow[0]=="零"))
				{}
			//亿位为零且不存在仟万位和十亿以上时去掉上次写入的零

			else if((i<15)&&(i>11)&&(strArr[intFen-1]!="0")&&(strNow[0]=="零")&&(strNow[1]=="亿")&&(strNow[3]!="仟"))
				strBig = strNum+strDW+strBig.substring(1,strBig.length);
			//亿位为零且存在仟万位和十亿以上时,在亿仟万间补零
			else if((i<15)&&(i>11)&&(strArr[intFen-1]!="0")&&(strNow[0]=="零")&&(strNow[1]=="亿")&&(strNow[3]=="仟"))
				strBig = strNum+strDW+"亿零"+strBig.substring(2,strBig.length);
			else
				strBig = strNum+strDW+strBig;
			strFen = strFen.substring(0,intFen-1);
			intFen = strFen.length;
			strArr = strFen.split("");
		}
		
		//按货币转换,但是如果不需要货币则替换掉

		if (psType == "1")
		{
		  if ((strBig.indexOf("角")<0)&&(strBig.indexOf("分")<0))
		  	strBig = strBig.replace("元","");
		  else
		  	strBig = strBig.replace("元","点");
		  strBig = strBig.replace("整","");
		  strBig = strBig.replace("角","");
		  strBig = strBig.replace("分","");
		}
		return strBig;
	}catch(err){
		return "";      //若失败则返回原值

	}	
}
// *********************************************************************************** //
// function formatDate(value,modal)
// --------------
// 功能:将11位的日期转化为8位的字符串
// 传入参数:
//              value: 要进行格式化的日期串(11位 YYYY-MM-DD...)
//				modal:  输入格式号
//					1:YYYY-MM-DD
//					2:MM-DD-YYYY
//					3:DD-MM-YYYY
//					4:YYYY-DD-MM
// 传出结果:   格式化后的字符串(8位 YYYYMMDD)
// 完成日期:   2001年5月21日
// *********************************************************************************** //
function formatDate(value,modal)
{
	var strYear,strMonth,strDay,strDate;
	var strValue,intlong;

	if((trim(value)=="")||(trim(modal)==""))   //日期为空时返回

		return "00000000";
	strValue = value;
	if(trim(modal)=="1")     //处理1:YYYY-MM-DD的情况

	{
		strYear = strValue.substring(0,4);
		strMonth = strValue.substring(5,7);
		strDay = strValue.substring(8,10);
		strDate = strYear+strMonth+strDay;
	}
	else if(trim(modal)=="2")        //处理2:MM-DD-YYYY的情况

	{
		strYear = strValue.substring(6,10);
		strMonth = strValue.substring(0,2);
		strDay = strValue.substring(3,5);
		strDate = strYear+strMonth+strDay;
	}
	else if(trim(modal)=="3")		//处理3:DD-MM-YYYY的情况

	{
		strYear = strValue.substring(6,10);
		strMonth = strValue.substring(3,5);
		strDay = strValue.substring(0,2);
		strDate = strYear+strMonth+strDay;
	}
	else if(trim(modal)=="4")       //处理4:YYYY-DD-MM的情况

	{
		strYear = strValue.substring(0,4);
		strMonth = strValue.substring(8,10);
		strDay = strValue.substring(5,7);
		strDate = strYear+strMonth+strDay;
	}
	else						//若有其他情况则返回

	{
		strDate = "00000000";
	}
	intlong = strDate.length;
	if ((intlong!=8)||(isNaN(strDate)))    //日期非法时提示,并返回

	{
		strErr = "日期"+value+"转换时有错误!";
		alert(strErr);
		return "00000000";
	}
	return strDate;
}


// *********************************************************************************** //
// function unFormatDate(value,formatstring)
// --------------
// 功能:将标准化的日期(YYYYMMDD)格式化成指定字符分割的日期格式(比如YYYY-MM-DD)

// 传入参数:   value: 要进行格式化的日期串(8位 YYYYMMDD)

//				formatstring:格式化方式(11位 年:YYYY,月:MM,日:DD)

// 传出结果:   格式化后的字符串(YYYY/MM/DD...)

// 完成日期:   2001年5月22日

// *********************************************************************************** //
function unFormatDate(value,formatstring)
{
	var strDate,strDay,strMonth,strYear;
	var strFirst,strSecond,strLast,strFGet;
	var strErr,strMid1,strMid2;
	var intlong;

	strDate = trim(value);
	intlong = strDate.length;
	if ((intlong!=8)||(isNaN(strDate)))    //数据非法时提示,并返回空串

	{
		strErr = "日期"+strDate+"有错误!";
		alert(strErr);
		return "";
	}
	strYear = strDate.substring(0,4);    //拆解字符串

	strMonth = strDate.substring(4,6);
	strDay = strDate.substring(6,8);

	strDate = trim(formatstring);
	if(strDate=="")                    //字符串为空时默认“YYYY年MM月DD日”格式

	{
		strFGet = strYear+"年"+strMonth+"月"+strDay+"日";
		return strFGet;
	}

	strFirst = strDate.substring(0,1);
	if(strFirst=="Y")               //年在前的情况
	{
		strSecond = strDate.substring(5,6);
		strLast = strDate.substring(8,9);
		strMid1 = strDate.substring(4,5);
		strMid2 = strDate.substring(7,8);
		if(strMid1!=strMid2)      //前后间隔不统一时默认“YYYY-MM-DD”格式

		{
			strFGet = strYear+"-"+strMonth+"-"+strDay;
			return strFGet;
		}
		if((strSecond=="M")&&(strLast=="D"))    //“YYYY#MM#DD”格式

		{
			strFGet = strYear+strMid1+strMonth+strMid1+strDay;
			return strFGet;
		}
		else if((strSecond=="D")&&(strLast=="M"))   //“YYYY#DD#MM”格式

		{
			strFGet = strYear+strMid1+strDay+strMid1+strMonth;
			return strFGet;
		}
		else              //有错误出现时默认“YYYY-MM-DD”格式

		{
			strFGet = strYear+"-"+strMonth+"-"+strDay;
			return strFGet;
		}
	}
	else if((strFirst=="M")||(strFirst=="D"))  //年在后的情况
	{
		strSecond = strDate.substring(3,4);
		strLast = strDate.substring(6,7);
		strMid1 = strDate.substring(2,3);
		strMid2 = strDate.substring(5,6);
		if(strMid1!=strMid2)      //前后间隔不统一时默认“MM-DD-YYYY”格式

		{
			strFGet = strMonth+"-"+strDay+"-"+strYear;
			return strFGet;
		}
		if((strFirst=="M")&&(strSecond=="D"))      //“MM-DD-YYYY”格式

		{
			strFGet = strMonth+strMid1+strDay+strMid1+strYear;
			return strFGet;
		}
		else if((strFirst=="D")&&(strSecond=="M"))   //“DD-MM-YYYY”格式

		{
			strFGet = strDay+strMid1+strMonth+strMid1+strYear;
			return strFGet;
		}
		else             //有错误出现时默认“MM-DD-YYYY”格式

		{
			strFGet = strMonth+"-"+strDay+"-"+strYear;
			return strFGet;
		}
	}
	else               //有错误出现时默认“YYYY-MM-DD”格式

	{
		strFGet = strYear+"-"+strMonth+"-"+strDay;
		return strFGet;
	}
}
// **************************************************************** //
// function trim(value)
// --------------
// 功能:删除两端空格(= trim)
// 参数:       value 要格式化的字符串
// 返回:       格式化后的字符串
// **************************************************************** //
function trim(value)
{
	var res = String(value).replace(/^[\s]+|[\s]+$/g,'');
	return res;
}
// *********************************************************************************** //
// function getMainPath()
// --------------
// 功能:返回系统主页的完整路径
// 传出结果:    系统主页的完整路径
// *********************************************************************************** //
function getMainPath()
{
	return GetVirtualPath()+"MainLogin.aspx";	//返回主页
}

// *********************************************************************************** //
// function getVirtualPath()
// --------------
// 功能:返回虚拟目录的路径,形如:"/drp/"
// 传出结果:    虚拟目录的路径
// *********************************************************************************** //
function getVirtualPath()
{
	var p = window.location.pathname;				//取当前页地址
	if(p.substring(0,1)!="/")
		p = "/"+p;
	var str = p.replace(/^[/]\w*[/]/,"");			//将虚拟目录从字符串中清除
	return p.substring(0,p.length - str.length);	//返回虚拟目录
}

// *********************************************************************************** //
// function exitCurrentPage()
// --------------
// 功能:关闭当前页面
// 传出结果:    
// *********************************************************************************** //
function exitCurrentPage()
{
   	window.returnValue = false;
	window.opener = null;
	window.close();	
	return false;
}
// *********************************************************************************** //
// function popWelcomeInfo 右键欢迎信息()
// --------------
// 功能:右键欢迎信息
// 传出结果:    
// *********************************************************************************** //
function popWelcomeInfo()
{
	var keyC = window.event.button;
	if (keyC==2)
	{
		alert("提示信息!");
		return false;
	}
}
// *********************************************************************************** //
// function isDigit 检查输入是否全部为数字()
// --------------
// 功能:检查输入是否全部为数字

// 传出结果:    
// *********************************************************************************** //
function isDigit(s)   
{   
    var patrn=/^[0-9]{1,20}$/;   
    if (!patrn.exec(s)) return false  
    return true  
}   

// *********************************************************************************** //
// function OpenDivMask()
// --------------
// 功能:打开遮挡层同时把下拉筐隐藏
// 传出结果:    
// *********************************************************************************** //
function OpenDivMask()
{	
    var divMask = document.getElementById("DivMask");
    if(!divMask){
        divMask = document.createElement("div");
        divMask.id = "DivMask";	
        divMask.style.display = "block";
        divMask.style.top = divMask.style.left = divMask.style.margin = divMask.style.padding = "0px";
        var screenWidth;
	    var screenHeight;
	    if(document.body.scrollHeight<document.documentElement.offsetHeight){
		    screenHeight = document.documentElement.offsetHeight + "px";
	    }
	    else{
		    screenHeight = document.body.scrollHeight + "px";
	    }
	    if(document.body.scrollWidth<document.documentElement.offsetWidthh){
		    screenWidth = document.documentElement.offsetWidth + "px";
	    }
	    else{
		    screenWidth = document.body.scrollWidth + "px";
	    }	
	    divMask.style.width      = screenWidth;
	    divMask.style.height     = screenHeight;
	    divMask.style.position   = "absolute";
	    divMask.style.zIndex     = "99";
	    divMask.style.background = "#D3D3D3";
	    divMask.style.filter     = "alpha(opacity=50)";
	    divMask.style.opacity    = 50/100;
	    divMask.style.MozOpacity = 50/100;	
	    document.body.appendChild(divMask);	
	}else{
	    divMask.style.display = "block";
	}	
	//屏蔽SELECT
	var allselect = document.getElementsByTagName("select");
	if (allselect != null && allselect.length > 0){
	    for (var i=0; i<allselect.length; i++){ 
		        allselect[i].style.visibility = "hidden";
        }
    }
}
// *********************************************************************************** //
// function OpenDivMask()
// --------------
// 功能:关闭遮挡层同时把下拉筐显示
// 传出结果:    
// *********************************************************************************** //
function CloseDivMask()
{
	var objDialog = document.getElementById("DivMask");
	if (objDialog) objDialog.style.display = "none";
	//屏蔽SELECT
	var allselect = document.getElementsByTagName("select");
	if (allselect != null && allselect.length > 0){
	    for (var i=0; i<allselect.length; i++){
		    allselect[i].style.visibility = "visible";
        }
    }	     	           
}
// *********************************************************************************** //
// function ChangeForeColor()
// --------------
// 功能:改变字体颜色
// 传出结果:    
// *********************************************************************************** //
function ChangeForeColor(src,color){
   src.style.color = color;
}

added by jeron 20090514
function gid(id)
{
	return document.getElementById?document.getElementById(id):null;
}
function gname(name)
{
	return document.getElementsByTagName?document.getElementsByTagName(name):new Array();
}
function Browser()
{
	var ua, s, i;
	this.isIE = false;
	this.isNS = false;
	this.isOP = false;
	this.isSF = false;
	ua = navigator.userAgent.toLowerCase();
	s = "opera";
	if ((i = ua.indexOf(s)) >= 0){this.isOP = true;return;}
	s = "msie";
	if ((i = ua.indexOf(s)) >= 0) {this.isIE = true;return;}
	s = "netscape6/";
	if ((i = ua.indexOf(s)) >= 0) {this.isNS = true;return;}
	s = "gecko";
	if ((i = ua.indexOf(s)) >= 0) {this.isNS = true;return;}
	s = "safari";
	if ((i = ua.indexOf(s)) >= 0) {this.isSF = true;return;}
}
function CloseDivMask( DIV)
{   
    var objdiv = document.getElementById(DIV);
    if (objdiv) objdiv.style.display = "none";
	var objDialog = document.getElementById("DivMask");
	if (objDialog) objDialog.style.display = "none";
	var allselect = gname("select");
	for (var i=0; i<allselect.length; i++) 
		allselect[i].style.visibility = "visible";          
}
function OpenDivMask()
{

	var browser = new Browser();
	var objScreen = gid("DivMask");
	if(!objScreen)
		var objScreen = document.createElement("div");
	var oS = objScreen.style;
	objScreen.id = "DivMask";
	oS.display = "block";
	oS.top = oS.left = oS.margin = oS.padding = "0px";
	var wh;
	var hg
	if(document.body.scrollHeight<document.documentElement.offsetHeight)
	{
		 hg = document.documentElement.offsetHeight + "px";
	}
	else
	{
		hg = document.body.scrollHeight + "px";
	}
	if(document.body.scrollWidth<document.documentElement.offsetWidthh)
	{
		 wh = document.documentElement.offsetWidth + "px";
	}
	else
	{
		wh = document.body.scrollWidth + "px";
	}
	
	oS.width = wh;
	oS.height = hg;
	oS.position = "absolute";
	oS.zIndex = "99";
	if ((!browser.isSF) && (!browser.isOP))
	{
		oS.background = "#D3D3D3";
	}
	else
	{
		oS.background = "#D3D3D3";
	}
	oS.filter = "alpha(opacity=50)";
	oS.opacity = 50/100;
	oS.MozOpacity = 50/100;
	document.body.appendChild(objScreen);
	var allselect = gname("select");
	for (var i=0; i<allselect.length; i++)
	 {
	//关键字二次排序遮蔽层时dropdownlist特殊处理
      if (allselect[i].id.indexOf("Keyword1")<0 && allselect[i].id.indexOf("Keyword2")<0 && allselect[i].id.indexOf("Keyword3")<0)
        {
	        allselect[i].style.visibility = "hidden";
	    }
	 }
}
function CloseDiv(DIV)
{
    CloseDivMask(DIV);
}
//构造去掉空格函数
String.prototype.trim=function()
{
// 用正则表达式将前后空格
// 用空字符串替代。
return this.replace(/(^\s*)|(\s*$)/g, "");
} 

//added by jeron 20090512 
function showEmailError_one(objbtn,Msg){  
   
     var btn=objbtn;
     var t=objbtn.offsetTop;  
     var l=objbtn.offsetLeft;  
     var h=objbtn.offsetHeight;  
     var w=objbtn.offsetWidth;    
     while(objbtn=objbtn.offsetParent) 
     {  
      t+=objbtn.offsetTop;  
      l+=objbtn.offsetLeft;  
     }  
     document.getElementById("EmailErrShow").style.visibility="";
     document.getElementById("EmailErrShow").style.top=t +h+ "px";
    
     //document.getElementById("EmailErrShow").style.left=l+w+"px";
     document.getElementById("EmailErrShow").style.right=w+"px";
     document.getElementById("EmailErrShow").style.display = "block";
     //alert(Msg);
     document.getElementById("LabelEmailError").innerHTML=Msg
     OpenDivMask();
     document.getElementById("EmailErrShow").focus();//added by jeron 20090720
}


//added by jeron 20090519 中文信息中的Email验证*******
function showEmailError_oneC(objbtn,Msg){  
   
     var btn=objbtn;
     var t=objbtn.offsetTop;  
     var l=objbtn.offsetLeft;  
     var h=objbtn.offsetHeight;  
     var w=objbtn.offsetWidth;    
     while(objbtn=objbtn.offsetParent) 
     {  
      t+=objbtn.offsetTop;  
      l+=objbtn.offsetLeft;  
     }  
     document.getElementById("EmailErrShowC").style.visibility="";
     document.getElementById("EmailErrShowC").style.top=t +h+ "px";
    
     
     document.getElementById("EmailErrShowC").style.left=l+"px";
     document.getElementById("EmailErrShowC").style.display = "block";
     
     document.getElementById("LabelEmailErrorC").innerHTML=Msg
     OpenDivMask();
     document.getElementById("EmailErrShowC").focus();//added by jeron 20090720
    
}
//added by jeron 20090519 英文信息中的Email验证*******
function showEmailError_oneE(objbtn,Msg){  
   
     var btn=objbtn;
     var t=objbtn.offsetTop;  
     var l=objbtn.offsetLeft;  
     var h=objbtn.offsetHeight;  
     var w=objbtn.offsetWidth;    
     while(objbtn=objbtn.offsetParent) 
     {  
      t+=objbtn.offsetTop;  
      l+=objbtn.offsetLeft;  
     }  
     document.getElementById("EmailErrShowE").style.visibility="";
     document.getElementById("EmailErrShowE").style.top=t +h+ "px";
    
     
     document.getElementById("EmailErrShowE").style.left=l+"px";
     document.getElementById("EmailErrShowE").style.display = "block";
     
     document.getElementById("LabelEmailErrorE").innerHTML=Msg
     OpenDivMask();
     document.getElementById("EmailErrShowE").focus();//added by jeron 20090720
    
}


//added by jeron 20090514
function chkEmail_one(objbtn)
{       
//检查是否为空

var emailValue=objbtn.value.trim();//得到Email整个串(去掉了前后空格和中间空格)

if(emailValue==""){ 
 showEmailError_one(objbtn,C_MailAddess2);
 return;
}
//if(emailValue.lastIndexOf(";")==(emailValue.length-1)){//以";"结尾	
//	emailValue=emailValue.substring(0,emailValue.length-1);	
//}

var flag=false;//标识是否是合法的Email

//var reg=/^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@(([0-9a-zA-Z])+([-\w]*[0-9a-zA-Z])*\.)+[a-zA-Z]{2,9})$/;
//var reg=/^(([0-9a-zA-Z]+)|([0-9a-zA-Z]+[_.0-9a-zA-Z-]*))@([a-zA-Z0-9-]+[.])+([a-zA-Z]{2}|net|com|gov|mil|org|edu|int|name|asia|NET|COM|GOV|MIL|ORG|EDU|INT|NAME|ASIA)$/;
var reg=/^(([0-9a-zA-Z]+)|([0-9a-zA-Z]+[_.0-9a-zA-Z-]*))@([_.0-9a-zA-Z-]+[.])+([0-9a-zA-Z]{1,})$/;//changed by jeron 20090519
//循环判断Email数组各个Email的合法性

	flag=RegExp(reg).test(emailValue.trim());
	if(!flag){	
		showEmailError_one(objbtn,C_MailAddess2);
		return;
	}
}



//added by jeron 20090519 中文信息中的Email验证*******
function chkEmail_oneC(objbtn)
{       
var msg="";
if(objbtn.name=="txtEmailAddr1C"){
    msg=emailMsgC1;
}else if(objbtn.name=="txtEmailAddr2C"){
    msg=emailMsgC2;
}else if(objbtn.name=="txtEmailAddr3C"){
    msg=emailMsgC3;
}else if(objbtn.name=="txtEmailC"){
    msg="请输入有效的E-mail地址";
}
//检查是否为空
var emailValue=objbtn.value.trim();//得到Email整个串(去掉了前后空格和中间空格)

if(emailValue==""){ 
    //showEmailError_oneC(objbtn,msg);
    return;
}
//if(emailValue.lastIndexOf(";")==(emailValue.length-1)){//以";"结尾	
//	emailValue=emailValue.substring(0,emailValue.length-1);	
//}

var flag=false;//标识是否是合法的Email

//var reg=/^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@(([0-9a-zA-Z])+([-\w]*[0-9a-zA-Z])*\.)+[a-zA-Z]{2,9})$/;
//var reg=/^(([0-9a-zA-Z]+)|([0-9a-zA-Z]+[_.0-9a-zA-Z-]*))@([a-zA-Z0-9-]+[.])+([a-zA-Z]{2}|net|com|gov|mil|org|edu|int|name|asia|NET|COM|GOV|MIL|ORG|EDU|INT|NAME|ASIA)$/;
var reg=/^(([0-9a-zA-Z]+)|([0-9a-zA-Z]+[_.0-9a-zA-Z-]*))@([_.0-9a-zA-Z-]+[.])+([0-9a-zA-Z]{1,})$/;//changed by jeron 20090519
//循环判断Email数组各个Email的合法性

	flag=RegExp(reg).test(emailValue.trim());
	if(!flag){		
		//alert("请输入有效的E-mail地址!");
					
		showEmailError_oneC(objbtn,msg);
		return;
	}
}

//added by jeron 20090519 英文信息中的Email验证*******
function chkEmail_oneE(objbtn)
{ 
var msg="";
if(objbtn.name=="txtEmailAddr1E"){
    msg=emailMsgE1;
}else if(objbtn.name=="txtEmailAddr2E"){
    msg=emailMsgE2;
}else if(objbtn.name=="txtEmailAddr3E"){
    msg=emailMsgE3;
}else if(objbtn.name=="txtEmailE"){
    msg="Please input right E-mail!";
}
      
//检查是否为空

var emailValue=objbtn.value.trim();//得到Email整个串(去掉了前后空格和中间空格)

if(emailValue==""){ 
 //showEmailError_oneE(objbtn,msg);
 return;
}
var flag=false;//标识是否是合法的Email

var reg=/^(([0-9a-zA-Z]+)|([0-9a-zA-Z]+[_.0-9a-zA-Z-]*))@([_.0-9a-zA-Z-]+[.])+([0-9a-zA-Z]{1,})$/;//changed by jeron 20090519
//循环判断Email数组各个Email的合法性

	flag=RegExp(reg).test(emailValue.trim());
	if(!flag){		
		//alert("请输入有效的E-mail地址!");
					
		showEmailError_oneE(objbtn,msg);
		return;
	}
}
//判断内容中是否含有html标签 added by linsendu 20110526
function HasHtmlTag(val)
{
    return /<[a-zA-Z!]/g.test(val);
}

//Sample:post_to_url(window.location.href,{'pwd':'111111', 'username':'admin'});
function post_to_url(path, params, formName) {
    //如果没有特别声明,自动创建一个
    var form;
    if (formName == null)
        form = document.createElement("form");
    else
        form = document.getElementById(formName);
        
    form.setAttribute("method", "post");
    form.setAttribute("action", path);

    for(var key in params) {
        var hiddenField = document.createElement("input");
        hiddenField.setAttribute("type", "hidden");
        hiddenField.setAttribute("name", key);
        hiddenField.setAttribute("value", params[key]);

        form.appendChild(hiddenField);
    }
    
    document.body.appendChild(form); 
    form.submit();
}


function CloseMsg(OpenMask)
{
    var msgBox = document.getElementById('p_msgbox');
    if (msgBox != null) msgBox.style.display = "none";
    if (OpenMask != null) CloseDivMask();
}

function ShowMsg(Message,Title,LanType,OpenMask)
{
    var closeTitle = "关闭";
    var okText = "确 认";
    if (LanType.toLowerCase()=="en-us")
    {
        closeTitle = "Close";
        okText = "Confirm";
    }
    var msgBox = document.getElementById('p_msgbox');
    if (msgBox == null){
        var boarddiv = "<div style='z-index: 501; position: absolute;width: 250px;' id ='p_msgbox'></div>"; 
        $(document.body).append(boarddiv); 
        msgBox = document.getElementById('p_msgbox');
    }
    var html = "<table cellpadding='0' cellspacing='0' class='inbox_table3'>";
    html +="<tr><td class='inbox_td23'><p class='inbox_p4'>" + Title + "</p><p class='inbox_p5'><img alt='"+closeTitle+"' src='http://img01.51jobcdn.com/imehire/ehire2007/default/image/inbox/layerClose.gif' οnclick=\"CloseMsg("+OpenMask+")\" style='vertical-align: middle;cursor: pointer;' /></p></td></tr>";
    html +="<tr><td style='padding: 10px;' align='center'>" + Message + "</td></tr>";
    html +="<tr><td style='background-image: url(http://img01.51jobcdn.com/imehire/ehire2007/default/image/inbox/dot_line_gray.gif); width: 100%;height: 2px;'></td></tr>";
    html +="<tr><td style='height: 30px; vertical-align: middle; text-align: center;'><input id='btnWarnOk' type='button' class='inbox_btnimg2' title='"+okText+"' value='"+okText+"' οnclick=\"CloseMsg("+OpenMask+")\" /></td></tr>";
    html +="</table>";
    msgBox.innerHTML = html;
    msgBox.style.display = "";

    // 层窗口居中显示
    MoveToCenter(msgBox);
         
    // 打开遮罩层
    if (OpenMask)
        OpenDivMask();
}

// 获取窗口及浏览器的宽度和高度
pageWidthHeight=function(){
    return{
        scrollTop:function(){return document.body.scrollTop||document.documentElement.scrollTop},
        width:function(){return self.innerWidth||(document.documentElement.clientWidth||document.body.clientWidth)},
        height:function(){return self.innerHeight||(document.documentElement.clientHeight||document.body.clientHeight)},
        pageHeight:function(){
	        var d=document, b=d.body, e=d.documentElement;
	        return Math.max(Math.max(b.scrollHeight,e.scrollHeight),Math.max(b.clientHeight,e.clientHeight))
        },
        pageWidth:function(){
	        var d=document, b=d.body, e=d.documentElement;
	        return Math.max(Math.max(b.scrollWidth,e.scrollWidth),Math.max(b.clientWidth,e.clientWidth))
        }
    }
}();

function MoveToCenter(box,width,height){     
    var cw=pageWidthHeight.width();
    var ch=pageWidthHeight.height();
    var sh=pageWidthHeight.scrollTop();
    var sl=document.documentElement.scrollLeft;
    var boxw=(box.offsetWidth||500);
    if(parseInt(width)>0){
        boxw=width>=500?500:width;
    }
    var boxh=(box.offsetHeight||230);
    if(parseInt(height)>0){
        boxh=height>=230?230:height;
    }        
    box.style.left='50%';
    box.style.top=(parseInt(ch)/2+sh)+'px';
    box.style.marginTop=-(parseInt(boxh)/2)+'px';
    box.style.marginLeft=-(parseInt(boxw)/2)+'px';
}
//js获取url参数方法
function GetUrlQuerystring(paras){
    var url = location.href;
    var paraString = url.substring(url.indexOf("?")+1,url.length).split("&");
    var paraObj = {}
    for (i=0; j=paraString[i]; i++){
        paraObj[j.substring(0,j.indexOf("=")).toLowerCase()] = j.substring(j.indexOf("=")+1,j.length);
    }
    var returnValue = paraObj[paras.toLowerCase()];
    if(typeof(returnValue)=="undefined"){
        return "";
    }else{
        return returnValue;
    }
} 


// *********************************************************************************** //
// function IsContainsChinese(value)
// -----------
// 功能:字符是否是中文、全角字符
// 作者:peggy 20120830 
// 传入参数:
// value:要进行检查的字符串
// 返回值:true: 包含中文/全角字符  false:不包含
// *********************************************************************************** //
function IsContainsChinese(value)  
{ 
    var ch, i;
    for (i=0; i< value.length; i++){
        ch = value.charCodeAt(i);
        if(ch<0) ch = ch + 65536;
        if(ch>255) return true;
    }
    
    return false;
}

// 禁用网址
var forbiddenurl_array		= new Array();
//注意:网止全部小写
forbiddenurl_array[0]		= 'zhaopin.com';
forbiddenurl_array[1]		= 'chinahr.com';
forbiddenurl_array[2]		= 'cjol.com';
forbiddenurl_array[3]		= '58.com';
forbiddenurl_array[4]		= 'ganji.com';
forbiddenurl_array[5]		= 'dajie.com';
forbiddenurl_array[6]		= 'baijob.com';
forbiddenurl_array[7]		= '104china.com';
forbiddenurl_array[8]		= 'hirede.com';
//forbiddenurl_array[9]		= 'yingjiesheng.com';//modify by linsen.du 20140929 removeit
forbiddenurl_array[9]		= 'ganji.cn';
forbiddenurl_array[10]		= 'jobcn.com';
forbiddenurl_array[11]		= 'job168.com';
forbiddenurl_array[12]		= 'job001.cn';
forbiddenurl_array[13]		= 'an9.com';
forbiddenurl_array[14]		= 'zhaopin.cn';
forbiddenurl_array[15]		= 'chinahr.cn';

// *********************************************************************************** //
// function IsForbiddenUrl(value,type)
// -----------
// 功能:是否是禁用Url
// 作者:peggy 20120830 
// 传入参数:
// value:要进行检查的字符串
// type:验证类型 url--网址;email--邮箱
// 返回值:true: 禁用网址  false:非禁用网址
// *********************************************************************************** //
function IsForbiddenUrl(value,type)
{
	var val = trim(value);       // 去2边空格
	val = ToHalfCharacter(val);  // 全角转半角
	val = val.toLowerCase();     // 全转小写
	if(type.toLowerCase() == "url")
	{
	    // 判断前缀
	    if(val.indexOf('www.') == -1)
	    {
	        if(val.indexOf('http') == -1)
	        {
	            val = "http://"+val;
	        }
	    }
    	// 判断网址是否禁用
	    for(var i = 0; i < forbiddenurl_array.length; i++)
	    {
	        if(val.indexOf('.'+forbiddenurl_array[i]) > -1) return true;
	        if(val.indexOf('//'+forbiddenurl_array[i]) > -1) return true;
	    }
	}
	else if(type.toLowerCase() == "email")
	{
		var pos = val.indexOf('@');
        if(pos > -1)
        {
	        val= val.substr(pos).toLowerCase();
        }
	    for(var i = 0; i < forbiddenurl_array.length; i++)
	    {
	        if(val.indexOf('@'+forbiddenurl_array[i]) > -1) return true;
	        if(val.indexOf('.'+forbiddenurl_array[i]) > -1) return true;
	    }
	}
    return false;
}

// *********************************************************************************** //
// function ToHalfCharacter(val)
// -----------
// 功能:全角转半角
// 作者:peggy 20120830 
// 传入参数:
// value:要进行检查的字符串
// 返回值:转换后字符串
// *********************************************************************************** //
function ToHalfCharacter(val){ 

  var result="";
  for (var i = 0; i < val.length; i++){
   if (val.charCodeAt(i)==12288){
    result+= String.fromCharCode(val.charCodeAt(i)-12256);
    continue;
   }
   if (val.charCodeAt(i)>65280 && val.charCodeAt(i)<65375) result+= String.fromCharCode(val.charCodeAt(i)-65248);
   else result+= String.fromCharCode(val.charCodeAt(i));
  }
  return result;
 } 
 
// *********************************************************************************** //
// function isLegalName(str)
// -----------
// 功能:检查是否为合法字符
// 作者:Lisa Chen 2012-09-03 
// 传入参数:str要检查的字符串
// 返回值:bool
// *********************************************************************************** //
function isLegalName(str)
{
	var str_use_sign	= " #&()+-./\\,: —,、:()_[]《》";
	var arr_use_sign	= new Array();
	for(var i=0;i<str_use_sign.length;i++)
	{
		arr_use_sign[i]	= str_use_sign.charCodeAt(i);
	}
	
	for(var i=0;i<str.length;i++)
	{
		if( !isCharCodeValid(str.charCodeAt(i),arr_use_sign) ) return false;
	}
	return true;
}

// *********************************************************************************** //
// function isCharCodeValid(code,arr)
// -----------
// 功能:单个检查char字符是否为合法字符
// 作者:Lisa Chen 2012-09-03 
// 传入参数:code单个char字符,合法的特殊字符数组
// 返回值:bool
// *********************************************************************************** //
function isCharCodeValid(code,arr)
{   
	//合法的字符
	if(in_arr(arr,code))				return true;
	//数字
	if(code >= 48 && code <= 57)		return true;
	//大写字母
	if(code >= 65 && code <= 90)		return true;
	//小写字母
	if(code >= 97 && code <= 122)		return true;
	//中文 日文 韩文
	if(code >= 12353 && code <= 65071)	return true;
	//日文片假名小写
	if(code >= 65328 && code <= 65439)	return true;
	return false;
}

// *********************************************************************************** //
// function in_arr(arr,val)
// -----------
// 功能:查看val是否存在于arr数组中
// 作者:Lisa Chen 2012-09-03 
// 传入参数:arr数组,val单个需检测的值
// 返回值:bool
// *********************************************************************************** //
function in_arr(arr,val)
{
	for(var i = 0; i < arr.length; i++)
	{
		if(arr[i] == val) return true;
	}
	return false;
}
/*字符串格式化方法 by huangpeng 20121127*/
String.prototype.format = function() {
	var a = arguments;
	return this.replace(/\{(\d+)\}/g,
	function(e, f) {
		return a[f];
	});
}
/*只允许输入数字(@param event:事件) by huangpeng 20121127*/
function onlyNum(event) {
	event = event || window.event;
	if (!window.event) event.charCode == 35 || event.charCode == 45 || event.charCode == 0 || (event.charCode < 47 || event.charCode > 57) && event.preventDefault();
	else if (! (event.keyCode == 35 || event.keyCode == 45)) if (event.keyCode < 47 || event.keyCode > 57) window.event.returnValue = !1;
}
/*返回对象 by huangpeng 20121127*/
function getId() {
	var elements = new Array();
	for (var i = 0; i < arguments.length; i++) {
		var element = arguments[i];
		if (typeof element == 'string') element = document.getElementById(element);
		if (arguments.length == 1) return element;
		elements.push(element);
	}
	return elements;
}
/*定位鼠标到文本框最后(@param text:文本框) by huangpeng 20121127*/
function posMouseToLast(text) {
	if (text && (text = getId(text))) {
		if (text.setSelectionRange) {
			text.setSelectionRange(text.value.length, text.value.length);
			text.focus();
		} else {
			text.createTextRange && (text = text.createTextRange(), text.collapse(!1), text.select());
		}
	}
}
/*弹层屏幕居中(@param id:弹层id[带#号]) by huangpeng 20121127*/
function centerDialog(id) {
	if (id) {
		var a = $("div.ui-dialog").has("{0}".format(id));
		a.css({
			top: (($(window).height() - a.outerHeight()) / 2) + $(window).scrollTop() + "px",
			left: (($(window).width() - a.outerWidth()) / 2) + $(window).scrollLeft() + "px"
		});
	}
}
/*自定义消息弹出框[alert、confirm] by huangpeng 20121127*/
window.dialog = {
	cancel: "取消",
	id: 'dialogBox',
	title: "消息",
	sumbit: "确定",
	isCenter: true,
	/*警告弹出框(@param msg:提示信息,@param optIsAutoClose:是否自动关闭弹出层[2秒自动关闭][可选],@param optCallBack:回调函数[可选])*/
	alert: function(msg, optIsAutoClose, optCallBack) {
		var a = this.init(),
		b = {};
		b[this.sumbit] = function() {
			$(this).dialog('close');
		};
		a.dialog('option', 'buttons', b);
		a.dialog('option', 'close',
		function() {
			optCallBack && optCallBack();
		});
		a.html(msg).dialog('open');
		optIsAutoClose && this.timeClose();
		return !1;
	},
	/*关闭弹出框*/
	close: function() {
		$('#{0}'.format(this.id)).is(':visible') && $('#{0}'.format(this.id)).dialog('close');
		this.t && clearTimeout(this.t);
	},
	/*确认弹出框(@param msg:提示信息,@param optCallBack:回调函数[可选])*/
	confirm: function(msg, optCallBack) {
		var a = this.init(),
		b = {};
		b[this.sumbit] = function() {
			$(this).dialog('close');
			optCallBack && optCallBack();
		};
		b[this.cancel] = function() {
			$(this).dialog('close');
		};
		a.dialog('option', 'buttons', b);
		a.dialog('option', 'close', null);
		a.html(msg).dialog('open');
	},
	init: function() {
		var a = $('#{0}'.format(this.id)),
	    style = this.isCenter ? "text-align:center;padding:35px 0 0 0;": "padding:35px;";
		a.length == 0 && (a = $("<div id='{0}' style='" + style + "'></div>".format(this.id)).appendTo('body'), a.dialog({
			title: this.title,
			bgiframe: !0,
			modal: !0,
			autoOpen: !1,
			draggable: !1,
			resizable: !1,
			width: 400,
			resizable: !1
		}));
		return a;
	},
	/*2秒后关闭弹出框*/
	timeClose: function() {
		this.t = setTimeout(function() {
			dialog.close()
		},
		2E3);
	}
}
/*根据文本的字数是否超限制,增加...(@param value:文本,@param len:截取字段长度)*/
function getSubBytes(value, len) {
	if (len && (getStrLength(value) > len)) {
		len -= 2; // 长度减少2
		for (var j = 0,
		text = "",
		i = 0; i < value.length; i++) {
			value.charCodeAt(i) > 255 ? j += 2 : j++;
			if (j > len) return "<span title='{0}'>{1}...</span>".format(value.replace(/'/g, "´"), htmlEncode(text));
			text += value.charAt(i);
		}
	}
	return htmlEncode(value);
}
/*编码文字(@param input:文字)*/
function htmlEncode(input) {
	var div = document.createElement("div");
	var text = document.createTextNode(input);
	div.appendChild(text);
	var output = div.innerHTML;
	div = null;
	return output;
}

//获得当前页面大小
function getPageSize()
{
    var winH;
    if (window.innerHeight) {
       winH = window.innerHeight;
    }
    else if (document.documentElement && document.documentElement.clientHeight) {
       winH = document.documentElement.clientHeight;
    }
    else if (document.body) {
       winH = document.body.clientHeight;
    };
    return { WinH: winH };
}
//设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离
function getPageScroll()
{
    var y;
    if (window.pageYOffset) {
        y = window.pageYOffset;
    }
    else if (document.documentElement && document.documentElement.scrollTop) {
        y = document.documentElement.scrollTop;
    }
    else if (document.body) {
        y = document.body.scrollTop;
    };
    return { Y: y };
}
//获取元素到顶部body的距离
function getOffsetTop(el)
{
    if(typeof(el)=="undefined")
    {
        return;
    }
    var t = el.offsetTop;
    while (el = el.offsetParent) {
        t += el.offsetTop;
    };
    return t;
}
//添加事件
function addEvent(el,type,fn)
{
    if (window.addEventListener) {
        el.addEventListener(type, fn, false);
    }
    else if (window.attachEvent) {
        el.attachEvent('on' + type, fn);
    }
    else {
        el['on' + type] = fn;
    };
}

//添加事件
function addEvent(el,type,fn)
{
    if (window.addEventListener) {
        el.addEventListener(type, fn, false);
    }
    else if (window.attachEvent) {
        el.attachEvent('on' + type, fn);
    }
    else {
        el['on' + type] = fn;
    };
}

/**
 * 验证文件是否为图片
 * @param {object} file[文件UI]
 * @param {object|null} out[输出对象]
 * @return boolean
 */
function checkIsImage(file, out) {
	var IMAGE_EXT = 'BMP|GIF|JPG|JPEG|PNG',
	fileName = trim(file.value);
	out = out || {};
	var lang = undefined == muti_language ? {}: muti_language;
	if (0 === fileName.length) {
		out.msg = lang.EMPTY_FILE;
		return ! 1;
	}

	var fileExtIndex = fileName.lastIndexOf('.');
	if (fileExtIndex > -1) {
		var extend = fileName.substring(fileExtIndex + 1).toUpperCase();
		if (in_arr(IMAGE_EXT.split('|'), extend)) {
			return ! 0;
		}
	}

	out.msg = lang.FILE_FORMAT_ERROR;
	return ! 1;
}

  

转载于:https://www.cnblogs.com/JangoJing/p/4350390.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值