function isEmpty(ElementName)//检测字符是否为空函数
{  
var s=ElementName.value;
	if (s.length<1){
	return true;
	}
	else
	{
	return false;
	}
}

function isWhitespace (ElementName)
{  
  var s=ElementName.value;
  var whitespace = " \t\n\r";
  var i;
  // 是否是为空，如果是，则返回假


   // 接下来检测是否含有空字符串，如果含有，也返回假

   for (i = 0; i < s.length; i++)
   {   
       var c = s.charAt(i);
       if (whitespace.indexOf(c) >= 0) 
	   {
		  return true;
	   }
   }

   // 所有的字符都是空字符.
   return false;
}

function isCharsInBagEx (ElementName, bag)
{  
  var s=ElementName.value
  var i,c;
  // Search through string's characters one by one.
  // If character is in bag, append to returnString.
  for (i = 0; i < s.length; i++)
  {   
        c = s.charAt(i);
	if (bag.indexOf(c) > -1) 
        return c;
  }
  return "";
}

function isCharsInBag (ElementName, bag)
{  
//---------------------------------------------------字符是否在S中
  var i;
  var s=ElementName.value;

  for (i = 0; i < s.length; i++)
  {   
      // Check that current character isn't whitespace.
      var c = s.charAt(i);
      if (bag.indexOf(c) == -1) return false;
  }
  return true;
}


function isCharsInBagStr (ElementValue, bag)
{  
//---------------------------------------------------字符是否在S中
  var i;
  var s=ElementValue;;

  for (i = 0; i < s.length; i++)
  {   
      // Check that current character isn't whitespace.
      var c = s.charAt(i);
      if (bag.indexOf(c) == -1) return false;
  }
  return true;
}

function isRegisterUserName(ElementName)//是否是有效的注册用户名--登录名
{
        var s=ElementName.value
        if ( s.length<4){
        alert("用户名长度不得少于3个字符");
        ElementName.focus();
        return false;
}
 	var errorChar;
	var badChar = "><,[]{}?/+=|\\'\":;~!#$%()`￥"; 
        var invalidbgChar = "0123456789";
 	if (isEmpty(ElementName))
 	{
 		alert("请输入用户名！");
		ElementName.focus();
 		return false;
 	}
 	//is s contain whitespace
   	if ( isWhitespace(ElementName) )
	{
		alert("输入的用户名中不能包含空格符，请重新输入！");
		ElementName.focus();
		return false;
	}

    	if (isCharsInBagStr(s.substring(0,1), invalidbgChar))
	{
		alert("用户名不能以数字开头！" );
		ElementName.focus();
		return false;
	}
	//is s contain invalid characters
	//Validate the user name
    	if (isCharsInBag(ElementName,badChar))
	{
		alert("您输入的用户名" + s+"是无效的用户名!\n\n请重新输入您的用户名！" );
		ElementName.focus();
		return false;
	} 	
	if (s.length>=20){
		alert("您输入的用户名太长，请重新输入！");
		ElementName.focus();
		return false;
		
		}
	return true	
}

function isEmail (ElementName)//检测email函数
{
   	// 是否是空的
	var s=ElementName.value
    if (isEmpty(ElementName))
	{
		alert("输入的E-mail地址不能为空，请输入！");
		ElementName.focus();	
		return false;
	}
	//待检的字符是否含有空格符
    if (isWhitespace(ElementName))
	{
		alert("输入的E-mail地址中不能包含空格符，请重新输入！");
		ElementName.focus();	
		return false;
	}

   // 有效的email地址至少要有一个@字符
   // start looking at character position 1
   // (i.e. second character)
   var i = 1;
   var len = s.length;

	if (len > 30)
	{
		alert("email地址长度不能超过30位!");
		ElementName.focus();
		return false;
	}
	
	pos1 = s.indexOf("@");
	pos2 = s.indexOf(".");
	pos3 = s.lastIndexOf("@");
	pos4 = s.lastIndexOf(".");
	//检测'@' 和 '.' 是不是第一个或者最后一个字符
	if ((pos1 <= 0)||(pos1 == len)||(pos2 <= 0)||(pos2 == len))  
	{
		alert("您填入的EMAIL格式不正确，请检查有无拼写错误。");
		ElementName.focus();
		return false;
	}
	else
	{
		//检测 @. 或 .@
		if( (pos1 == pos2 - 1) || (pos1 == pos2 + 1) 
		  || ( pos1 != pos3 )  //f发现有两个 @
		  || ( pos4 < pos3 ) ) //. 应该在 '@' 的后面 		
		{
			alert("您填入的EMAIL格式不正确，请检查有无拼写错误。");
			ElementName.focus();
			return false;
		}
	}

	if ( !isCharsInBag(ElementName, "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.-_@"))
	{
		alert("E-mail中只能包含英文字母（大小写）或数字字符，以及“-”，“_”，“@”请您重新输入，谢谢！" );
		ElementName.focus();
		return false;
	}
	return true;
}

function isFaxNumber(ElementName)
{
	//是否包含有无效字符
	var s=ElementName.value
	var validChar = "0123456789-()+"; 
	var len = s.length;
   //Validate the user name
  if (!isCharsInBag(ElementName, validChar))
  {
	alert("您输入的传真号码中包含有无效字符，请认真检查您的传真号码！");
	ElementName.focus();
	return false;
  }
	//检测长度 
	if ((len>18)||(len<6))
	{
		alert("传真号码不能超过18位也不能少于6位！");
		ElementName.focus();
		return false;
	}
	return true;
}


function isTelNumber(ElementName)
{
	//是否包含有无效字符
	var s=ElementName.value
	var validChar = "0123456789-()+"; 
	var len = s.length;
   //Validate the user name
  if (!isCharsInBag(ElementName, validChar))
  {
	alert("您输入的电话号码中包含有无效字符，请认真检查您的电话号码！");
	ElementName.focus();
	return false;
  }
	//检测长度 
	if ((len>18)||(len<6))
	{
		alert("电话号码不能超过18位也不能少于6位！");
		ElementName.focus();
		return false;
	}
	return true;
}

function isAddress(ElementName)
{
   	// 是否为空
	var s=ElementName.value
   	if ( isEmpty(ElementName) )
	{
		alert("联系地址不能为空，请重新输入！");
		ElementName.focus();	
		return false;
	}
	//是否包含空格符
   	if ( isWhitespace(ElementName) )
	{
		alert("输入的联系地址中不能包含空格符，请重新输入！");
		ElementName.focus();	
		return false;
	}
	//是否包含无效字符
	var badChar = "><,[]{}?/+=|\\'\":;~!@#$%^&`"; 
	var len = s.length;
   //验证字符串
    if ( isCharsInBag(ElementName, badChar))
	{
		alert("联系地址中不能含有字符 "+badChar + " !");
		ElementName.focus();
		return false;
	}
	//检测长度
	if ((len>100)||(len<5))
	{
		alert("联系地址不能超过50个汉字也不能少于五个汉字！");
		ElementName.focus();
		return false;
	}
	return true;
}

function isCardNumber(ElementName) 
{
//身份证号码验证
var validChar = "0123456789xX"; 
var s=ElementName.value
  if (s == "")
  {
     alert("身份证号码不能为空！请填写！");
	 ElementName.focus();
	return false;
  }
  
  if (!((s.length==18)||(s.length==15)||(s.length==9)||(s.length==10)))
  {
     alert("请检查一下您输入的身份证号码位数是否正确！");
	 ElementName.focus();
	return false;
  }
  
    	if (!isCharsInBag(ElementName, validChar))
	{
		alert("您输入的身份证号" + s+"中含有无效字符！" );
		ElementName.focus();
		return false;
	} 

return true;
}

 function isKeyword(ElementName)
 {
    var s=ElementName.value;
 	var a, errorChar;
	var badChar = "><,[]{}?/+=|\\'\":;~!@#$%^&()`"; 
	// is s Empty?
   	if ( isEmpty(ElementName) )
	{
		a = confirm("如果您不输入任何查询关键字，您可能会得到太多的查询结果。\n\n您确定要进行查询吗？");	
		if (a == false)
			return false;
	}
	else
	{
		//是否包含有无效字符
		//校验字符串
		errorChar = isCharsInBagEx(ElementName, badChar)
	    	if (errorChar != "" )
		{
			alert("请不要在查询关键字中输入字符" + errorChar + "\n\n请重新输入！" );
			return false;
		} 	
	}
 }
 

 
 function isUserName(ElementName)
 {
 var s=ElementName.value
 	var errorChar;
	var badChar = "><,[]{}?/+=|\\'\":;~!#$%()`"; 
 	if (isEmpty(ElementName))
 	{
 		alert("请输入用户名！");
		ElementName.focus();
 		return false;
 	}
 	//is s contain whitespace
   	if ( isWhitespace(ElementName) )
	{
		alert("输入的用户名中不能包含空格符，请重新输入！");
		ElementName.focus();	
		return false;
	}
	//is s contain invalid characters
	//Validate the user name
	errorChar = isCharsInBagEx(ElementName, badChar)
    	if (errorChar != "" )
	{
		alert("您输入的用户名" + s+"是无效的用户名,\n\n请不要在用户名中输入字符" + errorChar + "!\n\n请重新输入合法的用户名！" );
		ElementName.focus();
		return false;
	} 	
	
return true;
 }
 
 function isCnName(ElementName)//判断是否是有效的中文名
 {
 var s=ElementName.value
 	var errorChar;
	var badChar = "><,[]{}?/+=|\\'\":;~!#$%()`1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM"; 
 	if (isEmpty(ElementName))
 	{
 		alert("请输入姓名！");
		ElementName.focus();
 		return false;
 	}
 	//is s contain whitespace
   	if ( isWhitespace(ElementName) )
	{
		alert("输入的姓名中不能包含空格符，请重新输入！");
		ElementName.focus();	
		return false;
	}
	//is s contain invalid characters
	//Validate the user name
	errorChar = isCharsInBagEx(ElementName, badChar)
    	if (errorChar != "" )
	{
		alert("您输入的姓名" + s+"是无效的姓名!\n\n请重新输入您的真实姓名！" );
		ElementName.focus();
		return false;
	} 	
	if (s.length>=20){
		alert("您输入的名字太长，请重新输入！");
		ElementName.focus();
		return false;
		
		}
	return true	
 }
 

function isSex(ElementName,ElementName)
{
 var s=ElementName.value
   if (s=='')
   {
      alert("性别信息不能为空，请你选择");
	  ElementName.focus();
      return false;
   }

}



function isCity(ElementName)
{
   var s=ElementName.value;
   if (s=='')
   {
      alert("城市信息不能为空，请你选择");
	  ElementName.focus();
      return false;
   }

}



function isPassword (ElementName)
{
var s=ElementName.value
var validChar = "@~!#$%`1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM"; 
  if (isEmpty(ElementName))
  {
	alert("密码不能为空，请输入！");
	ElementName.focus();
	return false;
  }
//is s contain whitespace
  if ( isWhitespace(ElementName) )
  {
	alert("密码中不能包含空格符，请重新输入！");
	ElementName.focus();	
	return false;
  }

  if ((s.length>16)||(s.length<4))
  {
 	alert("口令不能超过16位也不能少于4位！");
	ElementName.focus();
	return false;
  }

  if (!isCharsInBag(ElementName, validChar))
  {
	alert("您输入的密码中包含有非法字符，请检查后输入！");
	ElementName.focus();
	return false;
  }

  return true
}

function isInt(ElementName, item)
{
var s=ElementName.value;
  if (isEmpty(ElementName))
  {
	alert(item + "不能为空，请输入！");
	ElementName.focus();
	return false;
  }
      	
  var validChar = "0123456789"; 
  if (!isCharsInBag(ElementName, validChar))
  {
	alert("您输入的" + item + "---" + s + "---" +"是无效的" + item + "^_^!\n\n请输入合法的" + item + "！");
	ElementName.focus();
	return false;
  }
 return true;
}

function isInt2(ElementName, item)
{
  var s=ElementName.value;
  var validChar = "0123456789"; 
  if (!isCharsInBag(ElementName, validChar))
  {
	alert("您输入的" + item + s +"是无效的" + item + "，\n\n请输入合法的" + item + "！");
	ElementName.focus();
	return false;
  }
 return true;
}

function isIntEx(ElementName, item, len, bCompare)
{
var s=ElementName.value;
  if (isEmpty(ElementName))
  {
	alert(item + "不能为空，请输入！");
	ElementName.focus();
	return false;
  }
      	
  var validChar = "0123456789"; 
  if (!isCharsInBag(ElementName, validChar))
  {
	alert("您输入的" + item + s +"是无效的" + item + "，\n\n请输入合法的" + item + "！");
	ElementName.focus();
	return false;
  }
  
  if (bCompare == "=") 
  {
    if (s.length != len)
    {
	alert("您输入的" + item + s +"是无效的" + item + "，\n\n必须等于" + len + "位！");
	ElementName.focus();
	return false;
    }
  }
  else if (bCompare == "<")
  {
    if (s.length >= len) 
    {
	alert("您输入的" + item + s +"是无效的" + item + "，\n\n必须小于" + len + "位！");
	ElementName.focus();
	return false;
    }
  }
  
  return true;
}

function isValidString(ElementName, des)
{
    var s=ElementName.value;
 	var errorChar;
	var badChar = "><,[]{}?/+=|\\'\":;~!@#$%^&()`"; 
 	if (isEmpty(ElementName))
 	{
 		alert("请输入"+ des +"！");
 		return false;
 	}
	//is s contain invalid characters
	//Validate the user name
	errorChar = isCharsInBagEx(ElementName, badChar)
    	if (errorChar != "" )
	{
		alert("您输入的" + des +"是无效的"+des +",\n\n请不要在"+des+"中输入字符" + errorChar + "!\n\n请重新输入合法的"+des+"！" );
		return false;
	} 	
	
	return true;
 }
 
function isPrice(ElementName, item)
{
  var s=ElementName.value;
  if (isEmpty(ElementName))
  {
	alert(item + "不能为空，请输入！");
	ElementName.focus();
	return false;
  }
      	
  var validChar = "0123456789."; 
  if (!isCharsInBag(ElementName, validChar))
  {
	alert("您输入的" + item + s +"是无效的" + item + "，\n\n请输入合法的" + item + "！");
	return false;
  }
  if (s.indexOf(".") == -1)
  	return true;
  	
  if (s.indexOf(".") != s.lastIndexOf("."))
  {
	alert("您输入的" + item + s +"是无效的" + item + "，\n\n请输入合法的" + item + "！");
	return false;
  }
  var opart = s.substr(s.indexOf(".")+1);
  if (parseInt(opart) != 0)
  {
	alert(item+"的最小单位是1元！");
	return false;
  }

  return true;
}

function ckcontact(ee,dt) {
	bstr = new Array;
	bstr[1] = "@";
	bstr[2] = "icq";
	//bstr[3] = "yahoo";
	//bstr[4] = "mail";
	//bstr[5] = "msn";
	//bstr[6] = "aol";
	//bstr[7] = "tel";
	
	
	
	
	 for(i = 0; i < bstr.length; i++)
        {
	s=ee.value.toLowerCase().indexOf(bstr[i]);
	if (s!=-1){
		alert('请勿在 ' + dt +' 中加入电话、呼机、EMAIL等联系方法，\n\n共同维护网上竞标的良好气氛！');
		return false;
		
		}
		
	}
	   
	  
	  exp=new RegExp("[0-9]{6,15}"); //tel
	  ss=ee.value.toLowerCase().match(exp);
	  if (ss!=null){
	  	alert('请勿在 ' + dt + ' 中加入电话、呼机、EMAIL等联系方法，\n\n共同维护网上竞标的良好气氛！');
	  	return false;
	  
	  }
	 return true;
	// alert("ok");
}

function OpenBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function ShowMessage(msg){
alert(msg)
}

function isStuCardNumber(ElementName) 
{
//大学生服务卡卡号规则验证
var s=ElementName.value
  if (s == "")
  {
     alert("卡号不能为空！请输入您的服务卡卡号");
	 ElementName.focus();
	return false;
  }
  if (s.length!==11)
  {
     alert("请检查一下您输入的卡号位数是否正确");
	 ElementName.focus();
	return false;
  }
return true;
}
function ComparePassword(ElementName1,ElementName2){
//密码比较
if (ElementName1.value!==ElementName2.value){
alert("两次输入的密码不一致，请认真检查您输入的密码");
ElementName2.focus();
return false;
}
return true;
}

function isMobileNumber(ElementName)//检测手机号码的有效性
{
	//是否包含有无效字符
	var s=ElementName.value;
	var validChar = "0123456789"; 
	var len = s.length;
   //Validate the user name
  if (len==0)
  {
     alert("手机号码不能为空");
	 ElementName.focus();
	return false;
  }

  if (!isCharsInBag(ElementName, validChar))
  {
	alert("您输入的手机号码中包含有无效字符，请认真检查您的手机号码！");
	ElementName.focus();
	return false;
  }
	
	//检测长度 
	if (len!=11)
	{
		alert("手机号码应该是11位的数字！");
		ElementName.focus();
		return false;
	}
		if (s.slice(0,3)!="130" && s.slice(0,3)!="131" && s.slice(0,3)!="132" && s.slice(0,3)!="133" && s.slice(0,3)!="134" && s.slice(0,3)!="135" && s.slice(0,3)!="136" && s.slice(0,3)!="137" && s.slice(0,3)!="138" && s.slice(0,3)!="139" && s.slice(0,3)!="150" && s.slice(0,3)!="153" && s.slice(0,3)!="158" &&s.slice(0,3)!="159")
	{
		alert("中国大陆范围内的手机号码开头三位应该是：\n 150、153、158、159、130～139");
		ElementName.focus();
		return false;
	}
	return true;
}

function isOverflowMaxCharNum(ElementName,maxLen){
//显示输入框中还能输入的字符数量，其中ElementName是待检测的表单元素名,maxLen是允许输入的字符数量
var s=ElementName.value;
var len= s.length;
if (len>maxLen){
alert("您输入的字符已经超过系统规定："+maxLen+"个字符");
ElementName.value=s.slice(0,maxLen);
ElementName.focus();
return false;
}
return true;
}


//--------------------------------------------------邮政编码判断
function isZipCode(ElementName){
var s=ElementName.value;
if(!isCharsInBag (ElementName,"0123456789")){
alert("请检查一下您输入的是否为数字！");
ElementName.focus();
return false;
}

if (s.length==6){
return true;
}
else
{
alert("输入的邮政编码长度为6！");
ElementName.focus();
return false;
}
return true;
}


//--------------------------------------------------日期判断
function chkdate(ElementName)
{
var datestr=ElementName.value;
if (isEmpty(ElementName)){
alert("必须输入日期")
ElementName.focus();
return false;
}
var lthdatestr
lthdatestr= datestr.length ;
var tmpy="";
var tmpm="";
var tmpd="";
//var datestr;
var status;
status=0;

for (i=0;i<lthdatestr;i++){
if (datestr.charAt(i)== '-'){
status++;
}
if (status>2){
alert("请用'-'作为分隔符！");
ElementName.focus();
return false;
}
if ((status==0) && (datestr.charAt(i)!='-')){
tmpy=tmpy+datestr.charAt(i)
}
if ((status==1) && (datestr.charAt(i)!='-')){
tmpm=tmpm+datestr.charAt(i)
}
if ((status==2) && (datestr.charAt(i)!='-')){
tmpd=tmpd+datestr.charAt(i)
}
}

year=new String (tmpy);
month=new String (tmpm);
day=new String (tmpd)
//tempdate= new String (year+month+day);
//alert(tempdate);
if ((tmpy.length!=4) || (tmpm.length>2) || (tmpd.length>2))
{
alert("错误的日期格式，请用'-'作为分隔符！");
ElementName.focus();
return false;
}
if (!((1<=month) && (12>=month) && (31>=day) && (1<=day)) )
{
alert ("错误的月份或天数！");
ElementName.focus();
return false;
}
if (!((year % 4)==0) && (month==2) && (day==29))
{
alert ("这一年不是闰年！所以2月份只有28天");
ElementName.focus();
return false;
}
if ((month<=7) && ((month % 2)==0) && (day>=31))
{
alert ("这个月只有30天！");
ElementName.focus();
return false;
}
if ((month>=8) && ((month % 2)==1) && (day>=31))
{
alert ("这个月只有30天！");
ElementName.focus();
return false;
}
if ((month==2) && (day==30))
{
alert("2月永远没有这一天！");
ElementName.focus();
return false;
}

return true;
}


function Filter(fn,fi,env)
{  
//---------------------------------------------------字符是否在S中
var bw_no=50
var badword= new Array(bw_no);
badword[0]="法轮功";
badword[1]="共党";
badword[2]="李洪志";
badword[3]="法 轮 功";
badword[4]="法　轮　功";
badword[5]="法-轮-功";
badword[6]="法　　　轮　　　功";
badword[7]="法　　　　轮　功";
badword[8]="法   　轮　功";
badword[9]="法  轮 功";
badword[10]="法      轮      功";
badword[11]="法     轮     功";
badword[12]="法     轮  功";
badword[13]="法   轮功";
badword[14]="法    轮  功";
badword[15]="法　　轮 功";
badword[16]="法　轮　功";
badword[17]="大法";
badword[18]="大 法";
badword[19]="大  法";
badword[20]="大  法";
badword[21]="大   法";
badword[22]="大    法";
badword[23]="大     法";
badword[24]="大--法";
badword[26]="大-法";
badword[27]="真善忍";
badword[28]="真、善、忍";
badword[29]="真 善 忍";
badword[30]="大         法";
badword[31]="大          法";
badword[32]="大           法";
badword[33]="八九民运";
badword[34]="\<";
badword[35]="六·四";
badword[36]="江泽民";
badword[37]="江 泽 民";
badword[38]="江  泽 民";
badword[39]="江  泽  民";
badword[40]="*";
badword[41]="＊";
badword[42]="做爱";
badword[43]="色情";
badword[44]="$";
badword[45]="#";
badword[46]="＃";
badword[47]="\'";
badword[48]="&nbsp;";
badword[49]="\"";
  var i;
  var s=env;
  for (i = 0; i <bw_no; i++)
  {   
      var location_of_badword = s.indexOf(badword[i]); 
      if (location_of_badword != -1){ 
      alert( badword[i] + "是系统不允许输入的词语！")
      fn[fi].focus();
return false; 
break;
      }
  }
return true;
}



//复选框全选功能函数
function select_all(formName,elementName,selectAllName){
if(document.forms[formName].elements[selectAllName].checked)
for(var i = 0; i < document.forms[formName].elements[elementName].length; i++)
document.forms[formName].elements[elementName][i].checked = true;
else
for(var i = 0; i < document.forms[formName].elements[elementName].length; i++)
document.forms[formName].elements[elementName][i].checked = false;
}

//遍历过滤表单
function FilterForAll(FormName){
	for(var i=0;i<FormName.length;i++){
	if (FormName[i].type=="text" || FormName[i].type=="textarea") {  
           if (!Filter(FormName,i,FormName[i].value)){
           return false;
               }	
}
}
return true;
}
