


//判断是否中文函数
function isChinese(s){
var ret=true;
for(var i=0;i<s.length;i++)
ret=ret && (s.charCodeAt(i)>=10000);
return ret;
}

function IsNumber(string,sign) 
{ 
  var number; 
  if (string==null || string.length<1) return false; 
  if ((sign!=null) && (sign!='-') && (sign!='+')) 
  { 
   alert('IsNumber(string,sign)的参数出错：nsign为null或"-"或"+"'); 
   return false; 
  } 
  number = new Number(string); 
  if (isNaN(number)) 
  { 
   return false; 
  } 
  else if ((sign==null) || (sign=='-' && number<0) || (sign=='+' && number>0)) 
  { 
   return true; 
  } 
  else 
   return false; 
} 




//--IsInteger: 用于判断一个数字型字符串是否为整形， 


function IsInteger(string ,sign) 
{  
  var integer; 
  if ((sign!=null) && (sign!='-') && (sign!='+')) 
  { 
   alert('IsInter(string,sign)的参数出错：nsign为null或"-"或"+"'); 
   return false; 
  } 
  integer = parseInt(string); 
  if (isNaN(integer)) 
  { 
   return false; 
  } 
  else if (integer.toString().length==string.length) 
  {  
   if ((sign==null) || (sign=='-' && integer<0) || (sign=='+' && integer>0)) 
   { 
     return true; 
   } 
   else 
     return false;  
  } 
  else 
   return false; 
} 


//--------IsDate: 用于判断一个字符串是否是日期格式的字符串 


function IsDate(DateString , Dilimeter) 
{ 
  if (DateString==null) return false; 
  if (Dilimeter=='' || Dilimeter==null) 
   Dilimeter = '-'; 
  var tempy=''; 
  var tempm=''; 
  var tempd=''; 
  var tempArray; 
  if (DateString.length<8 && DateString.length>10) 
    return false;    
  tempArray = DateString.split(Dilimeter); 
  if (tempArray.length!=3) 
   return false; 
  if (tempArray[0].length==4) 
  { 
   tempy = tempArray[0]; 
   tempd = tempArray[2]; 
  } 
  else 
  { 
   tempy = tempArray[2]; 
   tempd = tempArray[1]; 
  } 
  tempm = tempArray[1]; 
  var tDateString = tempy + '/'+tempm + '/'+tempd+' 8:0:0';//加八小时是因为我们处于东八区 
  var tempDate = new Date(tDateString); 
  if (isNaN(tempDate)) 
   return false; 
 if (((tempDate.getUTCFullYear()).toString()==tempy) && (tempDate.getMonth()==parseInt(tempm)-1) && (tempDate.getDate()==parseInt(tempd))) 
  { 
   return true; 
  } 
  else 
  { 
   return false; 
  } 
} 


//----SpecialString: 用于判断一个字符串是否含有或不含有某些字符 

function SpecialString(string,compare,BelongOrNot) 
{ 
  if ((string==null) || (compare==null) || ((BelongOrNot!=null) && (BelongOrNot!=true) && (BelongOrNot!=false))) 
  { 
   alert('function SpecialString(string,compare,BelongOrNot)参数错误'); 
   return false; 
  } 
  if (BelongOrNot==null || BelongOrNot==true) 
  { 
   for (var i=0;i<string.length;i++) 
   { 
     if (compare.indexOf(string.charAt(i))==-1) 
      return false 
   } 
   return true; 
  } 
  else 
  { 
   for (var i=0;i<string.length;i++) 
   { 
     if (compare.indexOf(string.charAt(i))!=-1) 
      return false 
   } 
   return true; 
  } 
} 


//-------------直接弹出消息框
//--------------------------------------------------日期判断
function chkdate(datestr)
{
if (isEmpty(datestr)){
alert("必须输入日期")
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("请用'-'作为分隔符！");
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("请用'-'作为分隔符！");
// alert("错误的日期格式！");
return false;
}
if (!((1<=month) && (12>=month) && (31>=day) && (1<=day)) )
{
alert ("错误的月份或天数！");
return false;
}
if (!((year % 4)==0) && (month==2) && (day==29))
{
alert ("这一年不是闰年！");
return false;
}
if ((month<=7) && ((month % 2)==0) && (day>=31))
{
alert ("这个月只有30天！");
return false;
}
if ((month>=8) && ((month % 2)==1) && (day>=31))
{
alert ("这个月只有30天！");
return false;
}
if ((month==2) && (day==30))
{
alert("2月永远没有这一天！");
return false;
}

return true;
}


//--------------------------------------------------邮政编码判断
function isZipCode(s){
if (!isEmpty(s)){
if(!isCharsInBag (s, "0123456789")){
alert("请检查一下您输入的邮政编码是否为数字！");
return false;
}
if (s.length==6){
return true;
}else{
alert("输入的邮政编码长度为6！");
return false;
}
} else {
return true;
}
}

//--------------------------------------------------身份证判断

function isCardNum(s)
{
	if (isEmpty(s)){ 
		alert("必须输入数字")
		return false;
	}
	if(!isCharsInBag (s, "0123456789"))
	{
		alert("请检查一下您输入的是否为数字?");
		return false;
	}
	if (s.length==15 || s.length==18)
	{
		return true;
	}else{
		alert("输入的数字长度为15位或者18位！");
		return false;
		}
}



//--------------------------------------Email判断
function isEmail(s)
{
if (isEmpty(s))
{
alert("输入的E-mail地址不能为空，请输入！"); 
return false;
}
//--------------------is s contain whitespace
if (isWhitespace(s))
{
alert("输入的E-mail地址中不能包含空格符，请重新输入！"); 
return false;
}
var i = 1;
var len = s.length;

if (len > 40)
{
alert("E-mail地址长度不能超过40位!");
return false;
}

pos1 = s.indexOf("@");
pos2 = s.indexOf(".");
pos3 = s.lastIndexOf("@");
pos4 = s.lastIndexOf(".");
if ((pos1 <= 0)||(pos1 == len)||(pos2 <= 0)||(pos2 == len)){
alert("请输入有效的E-mail地址！");
return false;
}
else{ 
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地址中只能包含字符ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.-_@\n" + "请重新输入" );
return false;
}
return true;
}

//----------------------------------------------------年份判断
function isYear(s)
{
var Today=new Date()
thisYear=Today.getYear()
var badChar = "><,[]{}?/+=|\\'\":;~!@#$%^&`"; 
var len = s.length;
if (isEmpty(s)){ 
alert("必须输入年份")
return false;
}
if ( isCharsInBag( s, badChar)){ 
alert("年份输入非法")
return false;
}
if ((len!=4)){
alert("年份是四位！");
return false;
}
if(!isCharsInBag (s, "0123456789")){
alert("请检查一下您输入的年份是否为数字！");
return false;
}
if (s<1800){
alert("年份要大于1800");
return false;
}
// if ((thisYear-s)<0){
// alert("年份要不能大于"+thisYear);
// return false;
// }
return true;
}

//----------------------------------------------------是否选择单选按钮
function radioselected(radioBth)
{
for(i=0;i<radioBth.length;i++)
{
if(radioBth[i].checked)
return true
}
return false
}





//-------------------------------------------------弹出窗口（地址，宽，高）
function newwindow(to,w,h)
{
if (!newwin || newwin.closed)
{
newwin=window.open(to,"indexww","width="+w+",height="+h+",scrollbars")
}
else
{
newwin.close()
newwin=window.open(to,"indexww","width="+w+",height="+h+",scrollbars")
}
newwin.focus()
}

//--------------------------------------------------检验字符
function ischar(s)
{
var errorChar;
var badChar = "><,[]{}?/+=|\\'\":;~!@#$%^&()`"; 

if ( s == "" )
{
alert("请您输入内容！")
return false;
}

if ( isWhitespace(s) )
{
alert("输入的字符中不能包含空格符，请重新输入！"); 
return false;
}
errorChar = isCharsInBagEx( s, badChar)
if (errorChar != "" )
{
alert("您输入的字符" + s+"是无效的,\n\n请不要在字符中输入" + errorChar + "!\n\n请重新输入合法的字符！" );
return false;
}


return true;
}

//---------------------------------------------------检验用户名

function isUserName(s)
{
var errorChar;
var badChar = "><,[]{}?/+=|\\'\":;~!@#$%^&()`"; 
if ( isEmpty(s))
{
alert("请输入用户名！");
return false;
}
if ( isWhitespace(s) )
{
alert("输入的用户名中不能包含空格符，请重新输入?"); 
return false;
}
errorChar = isCharsInBagEx( s, badChar);
if (errorChar != "")
{
alert("您输入的用户名" + s+"是无效的用户名,\n\n请不要在用户名中输入字符" + errorChar + "!\n\n请重新输入合法的用户名！" );
return false;
}
if (s.length<1 || s.length>20){
alert("用户名必须在1至20个字符之间");
return false;
} 

return true;
} 


//公用函数
//---------------------------------------------------字符是否在S中
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 isEmpty(s)
{ 
return ((s == null)||(s.length == 0)); 
}

//----------------------------------------------------除S以外的字符
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 isNum(s)
{
if (isEmpty(s)){ 
alert("必须输入数字")
return false;
}
if(!isCharsInBag (s, "0123456789")){
alert("请检查一下您输入的是否为数字！");
return false;
}
// if (s<1){
// alert("输入的数字要大于0！");
// return false;
// }
// if (s>2000){
// alert("输入的数字要小于2000！");
// return false;
// }
return true;
}

//----------------------------------------------------空格判断
function isWhitespace (s)
{ 
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 isleapyear(thisyear)
{
return(((thisyear%4==0) && (thisyear%100!=0)) || (thisyear%400==0))

}

