/*
 
s: string value
bag: char array

isEmpty(s) : null
isWhitespace (s) : " \t\n\r"
isUserName(s) 
isName(s)
isEmail (s)
isTelNumber(s)
isCardNumber(s) 
isAddress(s)
isCharsInBag (s, bag)
isKeyword(s)
isItemNum(s)
isPassword(s)
isInt(s, item)
isIntEx(s, item, len， bCompare)
isCharsInBagEx (s, bag) : return a bad char
isUserNameOld(s) 
*/

function isEmpty(s)
{  
	return ((s == null) || (s.length == 0))
}


function isWhitespace (s)
{  
  var whitespace = " \t\n\r";
  var i;
  // Is s empty?
  // if (isEmpty(s)) return true;

   // Search through string's characters one by one
   // until we find a non-whitespace character.
   // When we do, return false; if we don't, return true.
   for (i = 0; i < s.length; i++)
   {   
       // Check that current character isn't whitespace.
       var c = s.charAt(i);
       if (whitespace.indexOf(c) >= 0) 
	   {
		  return true;
	   }
   }

   // All characters are whitespace.
   return false;
}


function isCharsInBagEx (s, bag)
{  
  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 (s, bag)
{  
  var i;
  // Search through string's characters one by one.
  // If character is in bag, append to returnString.

  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 isCharsIn(s, Chars)
{  
  var i;
  
  // 若字符不在Chars中，返回False
  // Stormz 6.14.2001

  for (i = 0; i < s.length; i++)
  {   
      // Check that current character isn't whitespace.
      var c = s.charAt(i);
      if (Chars.indexOf(c) == -1) return false;
  }
  return true;
}

function isRegisterUserName(s)
{
 	var errorChar;
	var badChar = "><,[]{}?/+=|\\'\":;~!@#$%^&()`"; 
 	if (isEmpty(s))
 	{
 		alert("请输入用户名！");
 		return false;
 	}
 	//is s contain whitespace
   	if ( isWhitespace(s) )
	{
		alert("输入的用户名中不能包含空格符，请重新输入！");	
		return false;
	}
	//is s contain invalid characters
	//Validate the user name
	errorChar = isCharsInBagEx( s, badChar)
    	if (errorChar != "" )
	{
		alert("您输入的用户名" + s+"是无效的用户名,\n\n请不要在用户名中输入字符" + errorChar + "!\n\n请重新输入合法的用户名！" );
		return false;
	} 	
	
	return true;
}

function isEmail (s)
{
   	// is s Empty?
    if( isEmpty(s))
	{
		alert("输入的E-mail地址不能为空，请输入！");	
		return false;
	}
	//is s contain whitespace
    if (isWhitespace(s))
	{
		alert("输入的E-mail地址中不能包含空格符，请重新输入！");	
		return false;
	}

   // there must be >= 1 character before @, so we
   // start looking at character position 1
   // (i.e. second character)
   var i = 1;
   var len = s.length;

	if (len > 60)
	{
		alert("email地址长度不能超过30位!");
		return false;
	}
	
	pos1 = s.indexOf("@");
	pos2 = s.indexOf(".");
	pos3 = s.lastIndexOf("@");
	pos4 = s.lastIndexOf(".");
	//check '@' and '.' is not first or last character
	if ((pos1 <= 0)||(pos1 == len)||(pos2 <= 0)||(pos2 == len))  
	{
		alert("请输入有效的E-mail地址！");
		return false;
	}
	else
	{
		//check @. or .@
		if( (pos1 == pos2 - 1) || (pos1 == pos2 + 1) 
		  || ( pos1 != pos3 )  //find two @
		  || ( pos4 < pos3 ) ) //. should behind the '@'  		
		{
			alert("请输入有效的E-mail地址！");
			return false;
		}
	}

	if ( !isCharsInBag( s, "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.-_@"))
	{
		alert("email地址中不能有特殊字符\n" + "请重新输入" );
		return false;
	}
	//is s contain invalid characters
	/*
	var badChar = "><,[]{}?/+=|\\'\":;!#$%^&()`"; 
	if ( isCharsInBag( s, badChar))
	{
		alert("请不要在email地址中输入字符 " + badChar + "\n" );
		alert("请重新输入" );
		return false;
	}
	*/
	return true;
}

function isEmail2 (s, MinLen, MaxLen, NullAble)
{
   	// is s Empty?
    if( (NullAble==false) && isEmpty(s))
	{
		alert("输入的E-mail地址不能为空，请输入！");	
		return false;
	}
	else if( (NullAble==true) && isEmpty(s))
	{	
		return true;
	}
	
	//is s contain whitespace
    if (isWhitespace(s))
	{
		alert("输入的E-mail地址中不能包含空格符，请重新输入！");	
		return false;
	}

   // there must be >= 1 character before @, so we
   // start looking at character position 1
   // (i.e. second character)
   var i = 1;
   var len = s.length;

	if( (MinLen>0) && (len<MinLen) )
	{
		alert("email地址长度不能少于"+MinLen+"位!");
		return false;
	}
	if( (MaxLen>0) && (len>MaxLen) )
	{
		alert("email地址长度不能超过"+MaxLen+"位!");
		return false;
	}
	
	pos1 = s.indexOf("@");
	pos2 = s.indexOf(".");
	pos3 = s.lastIndexOf("@");
	pos4 = s.lastIndexOf(".");
	//check '@' and '.' is not first or last character
	if ((pos1 <= 0)||(pos1 == len)||(pos2 <= 0)||(pos2 == len))  
	{
		alert("请输入有效的E-mail地址！");
		return false;
	}
	else
	{
		//check @. or .@
		if( (pos1 == pos2 - 1) || (pos1 == pos2 + 1) 
		  || ( pos1 != pos3 )  //find two @
		  || ( pos4 < pos3 ) ) //. should behind the '@'  		
		{
			alert("请输入有效的E-mail地址！");
			return false;
		}
	}

	if ( !isCharsInBag( s, "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.-_@"))
	{
		alert("email地址中不能有特殊字符\n" + "请重新输入" );
		return false;
	}
	//is s contain invalid characters
	/*
	var badChar = "><,[]{}?/+=|\\'\":;!#$%^&()`"; 
	if ( isCharsInBag( s, badChar))
	{
		alert("请不要在email地址中输入字符 " + badChar + "\n" );
		alert("请重新输入" );
		return false;
	}
	*/
	return true;
}

function IsNumeric(s, maxlen, InputName)
{
	//is s contain invalid characters
	var MyChars = "0123456789."; 
	var len = s.length;
   	//Validate the user name
   	if( (maxlen>0) && (len>maxlen) )
	{
		alert(InputName+"不能超过"+maxlen+"位！");
		return false;
	}
   	if ( !isCharsIn( s, MyChars))
	{
		alert("请填写"+InputName+"正确格式");
		return false;
	}
	//check user length 
	return true;
}

function IsNumber(s, min, max, InputName, NullAble)
{
	//is s contain invalid characters
	var MyChars = "0123456789."; 
	
   	//Validate the user name
   	if( (NullAble==false) && (s.length<1) )
   	{
   		alert(InputName + "不能为空!");
   		return false;
   	}
   	if ( !isCharsIn( s, MyChars))
	{
		alert("请填写"+InputName+"正确格式");
		return false;
	}
	if( (s < min)&&(s.length>0) )
	{
		alert(InputName+"不能小于"+min );
		return false;
	}
	
   	if( (max>0) && (s>max)&&(s.length>0) )
	{
		alert(InputName+"不能大于"+max );
		return false;
	}
   	
	//check user length 
	return true;
}


function isTelNumber(s, maxlen)
{
	//is s contain invalid characters
	var badChar = "><,[]{}?/+=|\\'\":;~!@#$%^&`"; 
	var len = s.length;
   	//Validate the user name
    	if ((len>maxlen)||(len<6))
	{
		alert("联系电话不能超过"+maxlen+"位或少于6位！");
		return false;
	}
    	if ( isCharsInBag( s, badChar))
	{
		alert("联系电话不能有特殊字符！");
		return false;
	}
	//check user length 
	
	return true;
}

function isTelNumber2(s, maxlen)
{
	//is s contain invalid characters
	var MyChars = "0123456789()-"; 
	var len = s.length;
   //Validate the user name
   	if ((len>maxlen)||(len<6))
	{
		alert("联系电话不能超过"+maxlen+"位或少于6位！");
		return false;
	}
   	if ( !isCharsIn( s, MyChars))
	{
		alert("联系电话不能有特殊字符！");
		return false;
	}
	//check user length 
	
	return true;
}

function isTelNumber3(s, maxlen, InputName)
{
	//is s contain invalid characters
	var MyChars = "0123456789()-"; 
	var len = s.length;
   //Validate the user name
   	if ((len>maxlen)||(len<6))
	{
		alert(InputName+"不能超过"+maxlen+"位或少于6位！");
		return false;
	}
   	if ( !isCharsIn( s, MyChars))
	{
		alert(InputName+"不能有特殊字符！");
		return false;
	}
	//check user length 
	
	return true;
}

function isTelNumber4(s, minlen, maxlen, InputName, NullAble)
{
	//is s contain invalid characters
	var MyChars = "0123456789()-:：,"; 
	var len = s.length;
	
   //Validate the user name
   	if( (NullAble==false)&&(s.length<1) )
   	{
   		alert(InputName + "不能为空!");
   		return false;
   	}
   	if( (len>1) &&(minlen>0)&&(len<minlen))
	{
		alert(InputName+"不能少于"+minlen+"位！");
		return false;
	}
   	if( (maxlen>0)&&(len>maxlen))
	{
		alert(InputName+"不能超过"+maxlen+"位！");
		return false;
	}
   	if ( !isCharsIn( s, MyChars))
	{
		alert(InputName+"不能有特殊字符,只能是数字和(, ), - ");
		return false;
	}
	//check user length 
	
	return true;
}

function isBpNumber(s, maxlen)
{
	//is s contain invalid characters
	var MyChars = "0123456789()-_"; 
	var len = s.length;
   //Validate the user name
    if ( !isCharsIn( s, MyChars))
	{
		alert("联系的手机中不能有特殊字符！");
		return false;
	}
	//check user length 
	if ((len>maxlen)||(len<8))
	{
		alert("联系的手机中不能超过"+maxlen+"位或少于5位！");
		return false;
	}
	return true;
}

function isBpNumber2(s, maxlen)
{
	//可以为空
	//is s contain invalid characters
	var MyChars = "0123456789()-_"; 
	var len = s.length;
   //Validate the user name
    if ( !isCharsIn( s, MyChars))
	{
		alert("联系的手机或呼机中不能有特殊字符！");
		return false;
	}
	//check user length 
	if (len>maxlen)
	{
		alert("联系的手机或呼机中不能超过"+ maxlen+"位！");
		return false;
	}
	return true;
}

function CheckInput(s, MinLen, MaxLen, inputName,NullAble)
{	
	var len = s.length;
	
	if( (NullAble==false)&&(len<1) )
	{
		alert("\"" + inputName + "\"不能为空!");
		return false;
	}
	if( (MinLen>0) && (len<MinLen) && (len>0) )
	{
		alert("\"" + inputName + "\"的长度必须大于" + MinLen );
		return false;
	}
	if( (MaxLen>0)&&(len>MaxLen) )
	{
		alert("\"" + inputName + "\"的长度必须小于" + MaxLen );
		return false;
	}
	return true;
}


function isAddress(s, InputName)
{
   	var errorChar;
   	// is s Empty?
   	if ( isEmpty(s) )
	{
		alert( InputName + "不能为空，请重新输入！");	
		return false;
	}
	//is s contain whitespace
   	if ( isWhitespace(s) )
	{
		alert("输入的" + InputName + "中不能包含空格符，请重新输入！");	
		return false;
	}
	//is s contain invalid characters
	var badChar = "><,[]{}?/+=|\\'\":;~!@#$%^&`"; 
	var len = s.length;
   //Validate the user name
    errorChar = isCharsInBagEx( s, badChar)
		if (errorChar!="")
	{
		alert(InputName +"中不能含有字符 "+errorChar + " !");
		return false;
	}
	//check user length 
	if ((len>100)||(len<5))
	{
		alert(InputName +"不能超过50个汉字或少于5个汉字！");
		return false;
	}
	return true;
}

function isCardNumber(s) 
{
//身份证号码验证
  if (s == "")
  {
     alert("身份证号码不能为空！请填写！");
	return false;
  }
  
  if ((s.length<15)||(s.length>18)||(s.length==16)||(s.length==17))
  {
     alert("请检查一下您输入的身份证号码位数是否正确！");
	return false;
  }
  
  //if(!isCharsInBag (s, "0123456789"))
  //{
  //  alert("请检查一下您输入的身份证号是否为数字！");
  //  return false;
  //}
  return true;
}

 function isKeyword(s)
 {
 	var a, errorChar;
	var badChar = "><,[]{}?/+=|\\'\":;~!@#$%^&()`"; 
	// is s Empty?
   	if ( isEmpty(s) )
	{
		a = confirm("如果您不输入任何查询关键字，您可能会得到太多的查询结果。\n\n您确定要进行查询吗？");	
		if (a == false)
			return false;
	}
	else
	{
		//is s contain invalid characters
		//Validate the user name
		errorChar = isCharsInBagEx( s, badChar)
	    	if (errorChar != "" )
		{
			alert("请不要在查询关键字中输入字符" + errorChar + "\n\n请重新输入！" );
			return false;
		} 	
	}
	return true;
 }
 
 function isItemNum(s)
 {
 	if (isEmpty(s))
	{
		alert("请输入物品编号进行查询！");
 		return false;
	}
	var validChar = "0123456789"; 
	if (!isCharsInBag(s, validChar))
	{
		alert("您输入的物品编号" + s +"是无效的物品编号，\n\n请输入合法的物品编号！");
 		return false;
	}
	return true;		
 }
 
 function isUserName(s)
 {
 	var errorChar;
	var badChar = "><,[]{}?/+=|\\'\":;~!#$%()`"; 
 	if (isEmpty(s))
 	{
 		alert("请输入用户名！");
 		return false;
 	}
 	//is s contain whitespace
   	if ( isWhitespace(s) )
	{
		alert("输入的用户名中不能包含空格符，请重新输入！");	
		return false;
	}
	//is s contain invalid characters
	//Validate the user name
	errorChar = isCharsInBagEx( s, badChar)
    	if (errorChar != "" )
	{
		alert("您输入的用户名:(" + s+")是无效的用户名,\n\n请不要在用户名中输入字符" + errorChar + "!\n\n请重新输入合法的用户名！" );
		return false;
	} 	

	return true;
 }
 
 function isName(s, InputName)
 {
 	var errorChar;
	var badChar = "><,[]{}?/+=|\\'\":;~!#$%()@`"; 
 	if (isEmpty(s))
 	{
 		alert("请输入"+ InputName +"！");
 		return false;
 	}
 	//is s contain whitespace
   	if ( isWhitespace(s) )
	{
		alert("输入的"+ InputName +"中不能包含空格符，请重新输入！");	
		return false;
	}
	//is s contain invalid characters
	//Validate the user name
	errorChar = isCharsInBagEx( s, badChar)
   	if (errorChar != "" )
	{
		alert("您输入的"+ InputName +"( " + s +" )是无效的姓名,\n请不要在"+InputName+"中输入字符： " + errorChar + "\n\n请重新输入合法的"+InputName+"！" );
		return false;
	} 	
	return true;
 }

 
function isSource(s)
{
   if (s=='选择')
   {
      alert("信息来源不能为空，请你选择");
      return false;
   }
   return true;
}

function isSex(s)
{
   if (s=='选')
   {
      alert("性别信息不能为空，请你选择");
      return false;
   }
   return true;
}



function isCity(s)
{
   if (s=='选择')
   {
      alert("城市信息不能为空，请你选择");
      return false;
   }
   return true;
}



function isPassword (s)
{
  if (isEmpty(s))
  {
	alert("密码不能为空，请输入！");
	return false;
  }
//is s contain whitespace
  if ( isWhitespace(s) )
  {
	alert("密码中不能包含空格符，请重新输入！");	
	return false;
  }

  if ((s.length>16)||(s.length<4))
  {
 	alert("口令不能超过16位也不能少于4位！");
	return false;
  }
  return true;
}

function isPassword2 (s, InputName)
{
  if (isEmpty(s))
  {
	alert(InputName+"不能为空，请输入！");
	return false;
  }
//is s contain whitespace
  if ( isWhitespace(s) )
  {
	alert(InputName+"中不能包含空格符，请重新输入！");	
	return false;
  }

  if ((s.length>20)||(s.length<6))
  {
 	alert(InputName+"不能超过20位也不能少于6位！");
	return false;
  }
  return true;
}

function isInt(s, item)
{
  if (isEmpty(s))
  {
	alert(item + "不能为空，请输入！");
	return false;
  }
      	
  var validChar = "0123456789"; 
  if (!isCharsInBag(s, validChar))
  {
	alert("您输入的" + item +"("+ s +")是无效的" + item + "，\n\n请输入合法的" + item + "！");
	return false;
  }

  return true;
}

function isInt2(s, item)
{
  var validChar = "0123456789"; 
  if (!isCharsInBag(s, validChar))
  {
	alert("您输入的" + item + s +"是无效的" + item + "，\n\n请输入合法的" + item + "！");
	return false;
  }

  return true;
}

function isIntEx(s, item, len, bCompare)
{
  if (isEmpty(s))
  {
	alert(item + "不能为空，请输入！");
	return false;
  }
      	
  var validChar = "0123456789"; 
  if (!isCharsInBag(s, validChar))
  {
	alert("您输入的" + item +"("+ s +")是无效的" + item + "，\n\n请输入合法的" + item + "！");
	return false;
  }
  
  if (bCompare == "=") 
  {
    if (s.length != len)
    {
	alert("您输入的" + item + "("+ s +")是无效的" + item + "，\n\n必须等于" + len + "位！");
	return false;
    }
  }
  else if (bCompare == "<")
  {
    if (s.length >= len) 
    {
	alert("您输入的" + item + "("+ s +")是无效的" + item + "，\n\n必须小于" + len + "位！");
	return false;
    }
  }
  
  return true;
}

function isValidString(s, des)
{
 	var errorChar;
	var badChar = "><,[]{}?/+=|\\'\":;~!@#$%^&()`"; 
 	if (isEmpty(s))
 	{
 		alert("请输入"+ des +"！");
 		return false;
 	}
	//is s contain invalid characters
	//Validate the user name
	errorChar = isCharsInBagEx( s, badChar)
    	if (errorChar != "" )
	{
		alert("您输入的" + des +"是无效的"+des +",\n\n请不要在"+des+"中输入字符" + errorChar + "!\n\n请重新输入合法的"+des+"！" );
		return false;
	} 	
	
	return true;
 }
 
