
/***********************************************************
     
     程序功能：通用JAVASCRIPT函数库
     作者：    lijian
     编写日期：2005-7-12
     修改者：  胡小飞
     修改日期：

***********************************************************/

/* 检查输入值是否为空 */
function checkNull(name,message)
{
	if(name.value.trim() == "")//略去字符串两边的空格[修改者:胡小飞]
	{
		window.alert(message + "不能为空！");		
		name.focus();
		return false; 
	}
	return true;
}

/* 检查输入值是否为含有中文 */
function checkChinese(name,message)
{
	var ch=name.value;
	if(ch.match(/[\u4E00-\u9FA5]/g)!=null)
	{
		window.alert(message + "中不能有汉字！");
		name.focus();
		return false; 
	}
	return true;
}

/* 检查下拉框是否被选中 */
function checkSelectNull(name,message)
{
	if(name[0].selected==true)
	{
		window.alert(message + "不能为空！");
		name.focus();
		return false; 
	}
	return true;
}

/* 检查输入值是否超过指定长度 */
function checkMax(name,leng,message)
{
	if(name.value != "")
	{
		if(StrLenthByByte(name.value)> leng)//计算字符串的字节数[修改者:胡小飞]
		{
			window.alert(message +  "最大长度不能超过" + (leng/2) + "个汉字！");
			name.focus();
			return false; 
		}
	}
	return true;
}

/* 检查输入值是否为数字 */
function checkNum(name,message)
{
	if(name.value != "")
	{
		if(isNaN(name.value))
		{
			window.alert(message +  "必须是数字！");
			name.focus();
			return false; 
		}
	}
	return true;
}

/* 检查输入值是否为日期 */
function checkDate(name)
{
	if(name.value != "")
	{
		if(!isDate(name.value))
		{
			window.alert( "格式错误,正确的格式为YYYY-MM-DD！");
			name.focus();
			return false; 
		}
	}
	return true;
}

/* 检查输入值是否为合法的Email */
function checkMail(name)
{
	if(isMail(name.value))
	{
		window.alert("请输入正确的Email地址！");
		name.focus();
		return false; 
	}
	return true;
}

/* 检查密码是否相同 */
function checkPassword(name1,name2)
{
	if(name1.value!=name2.value)
	{
		window.alert("请确认您两次输入的密码是否一致!"); 
		name1.focus();
		return false; 
	}
	return true;
}

/* 检查是否为一个合法的日期 */
function isDate(strDate)
{
	var pos,year,month,day;

	pos = strDate.indexOf("-");
	year = strDate.substring(0,pos);
	strDate = strDate.substring(pos + 1,strDate.length);
	pos=strDate.indexOf("-");
	month = strDate.substring(0,pos);
	strDate = strDate.substring(pos + 1,strDate.length);
	day = strDate.substring(0,pos);
	strDate = month + "-" + day + "-" + year;
	if (isNaN(Date.parse(strDate)))
	{
		return false;
	}
	return true;
}

/* 检查是否为一个合法的Email */
function isMail(ChkStr)
{
	var SubStr = "@.";
	
	if (ChkStr.length < 5)
		return false;
	isMailAddress = true;
	for (j = 0; j < SubStr.length; j++)
	{
  		ch = SubStr.charAt(j)
  		for(i = 1; i < ChkStr.length - 1; i++)
  		{
      			if( ch == ChkStr.charAt(i) )
          			break;
  		}
  		if (i == ChkStr.length - 1)
  		{
      			isMailAddress = false;
      				break;
  		}
	}
	return isMailAddress & (ChkStr.indexOf(SubStr) == -1);
	
}

/* 替换字符串中的单引号、大于号、小于号 */
function StrReplace(str)
{
	var i;
	var newStr = "";
	
	str = new String(str);
	for (i = 0;i<=str.length-1;i++)
	{ 
		if(str.charAt(i)=="<")
		{
			newStr=newStr + "&lt;";
		}
		else if(str.charAt(i)==">")
		{
			newStr=newStr + "&gt;";
		}
		else if(str.charAt(i)=="'")
		{
			newStr=newStr + "''";
		}
		else
		{
			newStr=newStr + str.charAt(i);
		}	
	}
	return newStr;
}

/* 弹出式窗口 */   
function OpenNewWin(URL,name){
   var newWin = window.open(URL,name,"toolbar=no,location=no,directories=no,scrollbars=yes,resizable=yes,status=yes,menubar=no,width=700,height=450,left=50,top=50");
   if (!newWin.opener) newWin.opener=self;
}



/*检查是否为电话号码*/

function cPhone(phone) 
{ 
	var Letters = "0123456789()+-/"; 
	for (i=0; i< phone.value.length; i++){ 
		var CheckChar = phone.value.charAt(i); 
		if (Letters.indexOf(CheckChar) == -1){ 
			alert("电话号码格式不正确！"); 
			phone.focus();
			return false; 
		} //if				
	}//for
	return true;
}


/*ID是否只包含数字,字母,下划线*/
function check_PmId(str){
	var reg=/^[a-z|A-Z|0-9|_]*$/;
	var ch=str.value;
	if(ch.match(reg)==null)
	{
		window.alert("输入中只能包含数字,字母,下划线！");
		str.focus();
		return false; 
	}
	return true;
}

/*名称是否只包含数字,字母,下划线,中文,横杠*/
function check_PmName(str){
	var reg=/^[a-z|A-Z|0-9|\u4E00-\u9FA5|_|-]*$/;
	var ch=str.value;
	if(ch.match(reg)==null)
	{
		window.alert("输入中只能包含数字,字母,下划线,中文,横杠！");
		str.focus();
		return false; 
	}
	return true;
}

/*大于等于零的正整数*/
function checkInteger(str){
	var reg=/^[0-9]+$/;
	var ch=str.value;
	if(ch.match(reg)==null)
	{
		window.alert("输入中只能包含大于等于零的正整数！");
		str.focus();
		return false; 
	}
	return true;
}


/*返回字符串的字节数*/
function StrLenthByByte(str)
{
	var len;
	var i;
	len = 0;
	for (i=0;i<str.length;i++)
	{
	if (str.charCodeAt(i)>255) len+=2; 
	else len++;
	}
	return len;
} 


/*去掉字符串两边的空格*/
String.prototype.trim =function()
{
	return this.replace(/(^\s*)|(\s*$)/g, "");
}

//正确IP地址 1-232.0-255.0-255.0-255
function isIP(str){
	var ip = /^([1-9]|[1-9]\d|1\d{2}|2[0-1]\d|22[0-3])(\.(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])){3}$/;
	return ip.test(str);
}

//检查邮编
function checkZip(zip){
  var objv = zip.value;
  var pattern = /^[0-9]{6,6}$/;
  flag = pattern.test(objv);
  if(!flag) {
    alert("邮政编码：请输入正确的邮政编码!");
    zip.focus();
    return false;
  }//if
  return true;
}

//??????????????
function byteLength (sStr)
{aMatch = sStr.match(/[^\x00-\x80]/g);return (sStr.length + (! aMatch ? 0 : aMatch.length));}


/*常用正则表达式 by lijian*/
/********************************************************************************************     
/^0(\.[\d]+)?/	//大于等于零小于1的正小数

/^0\.\d*[1-9]\d*$/	//小于1的正小数

/^[\+|-]{0,1}[0-9]*\.{0,1}[0-9]*$/	//保证都是数字

/^(([1-9]\d?(\.\d{1,2})?)|(0\.\d{1,2}))$/	//整数位不超过2位的不为0的正整数,或者整数位不超过2位并且小数位不超过2位的正小数

/^((1?\d?\d|(2([0-4]\d|5[0-5])))\.){3}(1?\d?\d|(2([0-4]\d|5[0-5])))$/	//正确的IP地址,用"."分隔

(/^[\x00-\xff]*$/	//输入半角字符

/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/		//EMAIL注册信息

"^\\d+$"　　//非负整数（正整数 + 0）

"^[0-9]*[1-9][0-9]*$"　　//正整数

"^((-\\d+)|(0+))$"　　//非正整数（负整数 + 0）

"^-[0-9]*[1-9][0-9]*$"　　//负整数

"^-?\\d+$"　　　　//整数

"^\\d+(\\.\\d+)?$"　　//非负浮点数（正浮点数 + 0）

"^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$"　　//正浮点数

"^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$"　　//非正浮点数（负浮点数 + 0）

"^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"　　//负浮点数

"^(-?\\d+)(\\.\\d+)?$"　　//浮点数

"^[A-Za-z]+$"　　//由26个英文字母组成的字符串

"^[A-Z]+$"　　//由26个英文字母的大写组成的字符串

"^[a-z]+$"　　//由26个英文字母的小写组成的字符串

"^[A-Za-z0-9]+$"　　//由数字和26个英文字母组成的字符串

"^\\w+$"　　//由数字、26个英文字母或者下划线组成的字符串

"^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$"　　//url 


*******************************************************************************************************/
