function isLengthRight(length,inStr)
{
	var str=Trim(inStr);
	var	i = 0 
	for (dd=0;dd<str.length; dd++) {
		if (str.charCodeAt(dd) > 255 ) {
			i = i+2;
		} else {
		 	i = i+1;
		}
	}

	//比较长度
	var j=parseInt(length);
	if(i==j)
	{
		return 1;
	}
	else
	{
		return i>j?-1:0;
	}
}
//验证是否全是数字
function isDigit(inStr)
{
	var Digits = "0123456789";
	var temp;
	
	if(isEmpty(inStr)==1)
		return 1;

	for(var i=0;i<inStr.length;i++)
	{
		temp=inStr.substring(i,i+1);
		if (Digits.indexOf(temp)==-1)
		{
			return 0;
		}
	}
	return 1;	
}
//用途：检查输入字符串是否只由汉字组成 如果通过验证返回true,否则返回false 

function f_check_zh(obj){   
    if (/^[\u4e00-\u9fa5]+$/.test(obj.value)) {   
      return true;   
    }   
    
    return false;   
}  
//检查是否为空
function isEmpty(inStr)
{
	
	for(var i=0;i<inStr.length;i++)
		if(inStr.substring(i,i+1)!=" ")
			return 0;
	return 1;
}
//去掉空格
function Trim(inStr)
{
	if(isEmpty(inStr)==1)
		return "";
	var temp=inStr
	while(temp.indexOf(' ')==0)
		temp=temp.substring(1,temp.length);
	while(temp.lastIndexOf(' ')==temp.length-1)
		temp=temp.substring(0,temp.length-1);
	return temp;
}

function isDate1(inStr)
{
	if(inStr=="")return 1;
	var Year;
	var Month;
	var Day;
	strDate=Trim(inStr);
	if(strDate.length!=10)
	{
		return 0;
	}
	Year=strDate.substring(0,4);
	Month=strDate.substring(5,7);
	Day=strDate.substring(8,10);
	if( ( isDigit(Year)!=1 )||( isDigit(Month)!=1 )||( isDigit(Day)!=1 )||( Year<"1900" )||( Year>"2100" ) )
	{
		return 0;
	}
	switch(Month)
	{
		case '01':
		case '03':
		case '05':
		case '07':
		case '08':
		case '10':
		case '12':
		if(Day<'01'||Day>'31')
		return 0;
		break;
		case '04':
		case '06':
		case '09':
		case '11':
		if(Day<'01'||Day>'30')
		return 0;
		break;
		case '02':
		if(( parseInt(Year)%4==0 && parseInt(Year)%100!=0 )|| parseInt(Year)%400==0)
		{
			if(Day<'01'||Day>'29')
			return 0;
		}
		else
		{
			if(Day<'01'||Day>'28')
			return 0;
		}					
		break;
		default:
		return 0;
	}
	return 1;
}
//检查是否是日期
function isDate(inStr)
{
	if(inStr=="")return 1;
	var Year;
	var Month;
	var Day;
	strDate=Trim(inStr);
	if(strDate.length!=8)
	{
		return 0;
	}
	Year=strDate.substring(0,4);
	Month=strDate.substring(4,6);
	Day=strDate.substring(6,8);
	if( ( isDigit(Year)!=1 )||( isDigit(Month)!=1 )||( isDigit(Day)!=1 )||( Year<"1900" )||( Year>"2100" ) )
	{
		return 0;
	}
	switch(Month)
	{
		case '01':
		case '03':
		case '05':
		case '07':
		case '08':
		case '10':
		case '12':
		if(Day<'01'||Day>'31')
		return 0;
		break;
		case '04':
		case '06':
		case '09':
		case '11':
		if(Day<'01'||Day>'30')
		return 0;
		break;
		case '02':
		if(( parseInt(Year)%4==0 && parseInt(Year)%100!=0 )|| parseInt(Year)%400==0)
		{
			if(Day<'01'||Day>'29')
			return 0;
		}
		else
		{
			if(Day<'01'||Day>'28')
			return 0;
		}					
		break;
		default:
		return 0;
	}
	return 1;
}

function isWord(inStr)
{
	var validLetters = "abcdefghijkmlnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
	var temp;
	var strWord=Trim(inStr)	  
	for(var i=0;i<strWord.length;i++)
	{
		temp=strWord.substring(i,i+1);
		if (validLetters.indexOf(temp)==-1)
		{
			return 0;
		}
		if (i>20)
		{
			return -1;
		}	
	}
	return 1;	
}

/*
   检查输入的年份
*/
function isYear(inStr)
{
	var Year;
	
	Year=Trim(inStr);
	if(Year.length==0)
		return 1;
	
	if(Year.length!=4)
	//判断长度是否正确
	{
		return 0;
	}
	
	
	if( ( isDigit(Year)!=1 )||( Year<"1900" )||( Year>"2100" ) )
	//年非数值或者年份过小过大认为不是日期
	{
		return 0;
	}
	return 1;
}

/*
   检查输入的手机号
*/
function checkMobile(mobile)
{
	if (isEmpty(mobile)!=1)
	{   
		if ((isLengthRight(11,mobile)!=1)&&
		(isLengthRight(12,mobile)!=1)|| 
		(isDigit(mobile)!=1))
		{ 
			return 0;
		} 
	}
	return 1;
}
//验证邮箱
function isEmailFormat(inStr){
	if (inStr.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1){
  	 return true;
  	 }
  	else{
  		return false;
  	}

}

function checkUserName(userName){
	var LETTERS="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ._-";
	var DIGITS="0123456789";
	userName=userName.toUpperCase();
	if(userName.substring(0,2)=="FS"){
		alert("用户名不能以fs或FS开头");
		return 0;
	}
	if(userName.length<3)
		return 0;
	if(isEmpty(userName)!=1){
		var flag=0;
		for(var i=0;i<userName.length;i++){
			var temp=userName.substring(i,i+1);
			
			if(LETTERS.indexOf(temp)==-1){
				if(DIGITS.indexOf(temp)==-1)	
					return 0;
			}else{
				flag=1
			}
		}
		if(flag==0)
			return 0;
	}
	return 1;
}

/*
   检查输入的身份证号码

function checkIDCard(ctrl){	       
	if(isEmpty(ctrl)!=1){
		ctrl.value=Trim(ctrl);	
		if((isLengthRight(15,ctrl)!=1)&&(isLengthRight(18,ctrl)!=1)){
			return 0;
		}else if(isLengthRight(15,ctrl)==1){
			if(isDigit(ctrl)!=1){        
				return 0;
			}	
			birthday="19"+(ctrl).substring(6,12);
			if(isDate(birthday)!=1){          
				return 0;
			}
		}else if(isLengthRight(18,ctrl)==1){
			if(isDigit((ctrl).substring(0,17))!=1){        
        		return 0;
      		}      
      		if((isDigit((ctrl).substring(17,18))!=1)&&(isWord((ctrl).substring(17,18))!=1)){        
        		return 0;
      		}      
      		birthday=(ctrl).substring(6,14);      
      		if(isDate(birthday)!=1){
        		return 0;            
			}    	
		}    	
	}
	return 1;     
}
*/

function   checkIDCard(StrNo){   
  StrNo   =   StrNo.toString()   
  if   (StrNo.length==18)   
  {   
            var   a,b,c   
            if   (!isInteger(StrNo.substr(0,17)))   {return   0}   
            a=parseInt(StrNo.substr(0,1))*7+parseInt(StrNo.substr(1,1))*9+parseInt(StrNo.substr(2,1))*10;   
            a=a+parseInt(StrNo.substr(3,1))*5+parseInt(StrNo.substr(4,1))*8+parseInt(StrNo.substr(5,1))*4;   
            a=a+parseInt(StrNo.substr(6,1))*2+parseInt(StrNo.substr(7,1))*1+parseInt(StrNo.substr(8,1))*6;     
            a=a+parseInt(StrNo.substr(9,1))*3+parseInt(StrNo.substr(10,1))*7+parseInt(StrNo.substr(11,1))*9;     
            a=a+parseInt(StrNo.substr(12,1))*10+parseInt(StrNo.substr(13,1))*5+parseInt(StrNo.substr(14,1))*8;     
            a=a+parseInt(StrNo.substr(15,1))*4+parseInt(StrNo.substr(16,1))*2;   
            b=a%11;   
    
            if   (b==2)   //最后一位为校验位   
            {   
            c=StrNo.substr(17,1).toUpperCase();   //转为大写X   
            }   
            else   
            {   
            c=parseInt(StrNo.substr(17,1));   
            }   
    
            switch(b)   
            {   
	            case   0:   if   (   c!=1   )   {alert("身份证号码不正确,请确认!");return   0;}break;   
	            case   1:   if   (   c!=0   )   {alert("身份证号码不正确,请确认!");return   0;}break;   
	            case   2:   if   (   c!="X")   {alert("身份证号码不正确,请确认!");return   0;}break;   
	            case   3:   if   (   c!=9   )   {alert("身份证号码不正确,请确认!");return   0;}break;   
	            case   4:   if   (   c!=8   )   {alert("身份证号码不正确,请确认!");return   0;}break;   
	            case   5:   if   (   c!=7   )   {alert("身份证号码不正确,请确认!");return   0;}break;   
	            case   6:   if   (   c!=6   )   {alert("身份证号码不正确,请确认!");return   0;}break;   
	            case   7:   if   (   c!=5   )   {alert("身份证号码不正确,请确认!");return   0;}break;   
	            case   8:   if   (   c!=4   )   {alert("身份证号码不正确,请确认!");return   0;}break;   
	            case   9:   if   (   c!=3   )   {alert("身份证号码不正确,请确认!");return   0;}break;   
	            case   10:   if   (   c!=2   ){alert("身份证号码不正确,请确认!");return   0}   
            }   
  }   
  else{    //15位身份证号     
          if   (!isInteger(StrNo))   {alert("身份证号码错误,前15位不能含有英文字母！");return   0}     
       }   
    
			  switch(StrNo.length){   
			  	case   15:     
                  if   (isValidDate("19"+StrNo.substr(6,2),StrNo.substr(8,2),StrNo.substr(10,2)))   
                          {return   1;}   
                  else   
                          {return   0;}   
  			  	case   18:     
                  if   (isValidDate(StrNo.substr(6,4),StrNo.substr(10,2),StrNo.substr(12,2)))   
                          {return   1;}   
                  else   
                          {return   0;}   
			  }   
	alert("输入的身份证号码必须为15位或者18位！");   
	return   0   
}   
    
  function   isValidDate(iY,   iM,   iD)   {     
          if   (isDate(iY+""+iM+""+iD)!=1)   
          {   
                  window.alert   ('身份证号码内日期错误！');   
                  return   false;   
          }   
  		return   true   
  }   
    
  function   isInteger(str)   {   
  	if   (/[^\d]+$/.test(str)){   
  	return   false;   
  	}   
  	return   true;   
  }   
    
    
  function   IDUpdate(StrNo){   
    
  if   (!isChinaIDCard(StrNo))   {return   false}   
  if   (StrNo.length==15)   
  {   
            var   a,b,c   
            StrNo=StrNo.substr(0,6)+"19"+StrNo.substr(6,9)   
            a=parseInt(StrNo.substr(0,1))*7+parseInt(StrNo.substr(1,1))*9+parseInt(StrNo.substr(2,1))*10;   
            a=a+parseInt(StrNo.substr(3,1))*5+parseInt(StrNo.substr(4,1))*8+parseInt(StrNo.substr(5,1))*4;   
            a=a+parseInt(StrNo.substr(6,1))*2+parseInt(StrNo.substr(7,1))*1+parseInt(StrNo.substr(8,1))*6;     
            a=a+parseInt(StrNo.substr(9,1))*3+parseInt(StrNo.substr(10,1))*7+parseInt(StrNo.substr(11,1))*9;     
            a=a+parseInt(StrNo.substr(12,1))*10+parseInt(StrNo.substr(13,1))*5+parseInt(StrNo.substr(14,1))*8;     
            a=a+parseInt(StrNo.substr(15,1))*4+parseInt(StrNo.substr(16,1))*2;   
            b=a%11;   
    
            switch(b)   
            {   
            case   0:   {StrNo=StrNo+"1";}break;   
            case   1:   {StrNo=StrNo+"0";}break;   
            case   2:   {StrNo=StrNo+"X";}break;   
            case   3:   {StrNo=StrNo+"9";}break;   
            case   4:   {StrNo=StrNo+"8";}break;   
            case   5:   {StrNo=StrNo+"7";}break;   
            case   6:   {StrNo=StrNo+"6";}break;   
            case   7:   {StrNo=StrNo+"5";}break;   
            case   8:   {StrNo=StrNo+"4";}break;   
            case   9:   {StrNo=StrNo+"3";}break;   
            case   10:   {StrNo=StrNo+"3";}   
            }   
            }   
            return   StrNo;   
  }   





function checkSecurityCode(idCard){
	var DIGITS="0123456789";
	if(idCard.length<6)
		return 0;
	if(isEmpty(idCard)!=1){
		var flag=0;
		for(var i=0;i<idCard.length;i++){
			var temp=idCard.substring(i,i+1);
			if(DIGITS.indexOf(temp)==-1)	
				return 0;
		}
	}
	return 1;
}

function checkDirtyName(str){
	str=str.toUpperCase();
	var lawless=["爸","妈","紅心辣椒","Cayenne","鄧潤澤","邓润泽","封神西游","布鲁潘达","bluepanda","管理","管理员","Gm","GM","gm","SUCK","FUCK","SHIT","ADMIN","裁判","客服","客户服务","做爱","去死","测试","ㄇㄉ","他ㄇ的","死GD","马的","妈的","干你娘","干妳娘","干拎娘","操妳娘","操妳妈","干你妈","干妳妈","ㄐ掰","ㄐ巴","ㄐ八","机巴","鸡巴","鸡八","机八","鸡叭","鸡芭","干你老母","干妳老母","塞你老母","塞你娘","塞你爸","塞你母","塞你公","塞你老师","驶你老母","驶你娘","驶你爸","驶你母","驶你公","驶你老师","ㄙㄞ你老母","ㄙㄞ你娘","ㄙㄞ你爸","ㄙㄞ你母","ㄙㄞ你公","ㄙㄞ你老师","懒叫","懒教","操妳祖宗","干七八","妳娘的","靠腰","操妳","操你","妳老母的","我妳老爸","肏","奸","淫","捻","屌","鸠","仆街","陷家铲","含捻","食捻屎","屌西","老母","屌","鸠屎","舔西","食屎","阴茎","鸡掰","屄","日你娘","傻逼","傻比","二逼","装逼呢","丫头养的","死全家","太监","我操","装逼","你姥","傻B","逼毛","阴毛","大花B","大血B","妈卖妈屁","马卖马屁","DICK","烂B","烂逼","TMD","日","踢","滚","干你","屁眼","性交","口交","肛交","吹喇叭","吹箫","烂人","插你","上你","干妳","操妳","插妳","上妳","乳交","王八蛋","操蛋","温家宝","胡锦涛","江泽民","反动派","台独","暴动","新党","民进党","台联","台联","亲民党","宋楚瑜","李登辉","李洪志","连战","蒋中正","蒋介石","蒋经国","吕秀莲","孙中山","孙逸仙","孙文","中共","共产党","中国","中华人民共和国","中华民国","台独","党主席","陈水扁","江泽明","毛泽东","邓小平","朱镕基","李鹏","李瑞环","胡锦涛","尉健行","李岚清","纳粹","台湾公投","国民党","密宗","一贯道","法轮功","摩门教","温家宝","胡锦涛","江泽民","反动派","台独","马加爵","暴动","管理者","草你","法轮","ㄞ","紫阳","法轮","革命","暴动","学潮","学运","日本","李鹏","革命","反革命","赵紫阳","朱鎔基","李洪志","李宏志","李红志","杨尚昆","胡耀邦","法轮","大法","共产","台独","台湾","独裁","民主","天安门","国民党","屠杀","暴行","镇压","邓小平","高治联","低治联","陈水扁","妈的","干你","ㄐ","干你","捻","阴茎","傻B","江core","阴毛","大花B","大血B","Dick","插","叉","http://","打倒","党中央","毛主席","周恩来","刘强","靖国神社","静国神社","大日本帝国","大东亚共荣圈","支那猪","支那狗","支那","支那pig","支那dog","西藏独立","达赖喇嘛","管理","奶子","马的","妈的","你妈的","你马的","你妈的","妳妈的","妳马的","妳马的","他妈的","他马的","她马的","她妈的","肏","奸","捻","屌","鸠","仆街","陷家铲","含捻","食捻屎","老母","鸠屎","舔西","食屎","阴茎","鸡掰","傻比","二逼","笨逼","别他妈的","装逼","日你妈","你姥姥","你以为你装逼就能骗我","别以为你是太监我就怕你","太监","我操","装逼","你姥"];
	for(var i=0;i<lawless.length;i++){
		if(str.indexOf(lawless[i],0)!=-1){
			return 0;
		}
	}
	return 1;
}

function isLength(str){
	//计算字符串长度
	var length = str.replace(/[^\x00-\xff]/g,"aa").length;
	return length;
}


function checkName(str){
	 var iu, iuu, regArray=new Array("!","@","#","$","%","^","&","*","(",")","_","-","+","=","|","[","]","？","~","`"+
	 "!","<",">","*","＆","＼","/","'","\"",".",";","?"); 
	 iuu=regArray.length;
	 for(iu=0;iu<=iuu;iu++){
			if (str.indexOf(regArray[iu])!=-1){
				 return false;
			}
	 }
	return true;              
}





function checkStr(str){
	var iu, iuu, regArray=new Array("&","<",">","'","{","}","[","]","$"); 
	 iuu=regArray.length;
	 for(iu=1;iu<=iuu;iu++){
			if (str.indexOf(regArray[iu])!=-1){
				 return false;
			}
	 }
	return true;   
}
/* 
用途：检查输入字符串是否只由汉字、字母、数字组成 
输入： 
value：字符串 
返回： 
如果通过验证返回true,否则返回false 
*/ 

function f_check_ZhOrNumOrLett(s){    //判断是否是汉字、字母、数字组成   
    var regu = "^[0-9a-zA-Z\u4e00-\u9fa5]+$";   
	var re = new RegExp(regu);
	if (re.test(s)) {
		return true;
	}else{
		return false;
	} 	
}  

/* 
用途：校验ip地址的格式 
输入：strIP：ip地址 
返回：如果通过验证返回true,否则返回false； 
*/ 
function f_check_IP(obj)    
{    
    var re=/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/; //匹配IP地址的正则表达式   
    if(re.test( obj.value ))   
    {   
        if( RegExp.$1 <256 && RegExp.$2<256 && RegExp.$3<256 && RegExp.$4<256) return true;   
    }   
    f_alert(obj,"请输入合法的计算机IP地址");   
    return false;    
} 


/* 
用途：检查输入对象的值是否符合端口号格式 
输入：str 输入的字符串 
返回：如果通过验证返回true,否则返回false 
*/ 

function f_check_port(obj)   
{   
    if(!f_check_number(obj))   
        return false;   
    if(obj.value < 65536)   
        return true;   
    f_alert(obj,"请输入合法的计算机IP地址端口号");   
    return false;    
}   

/* 
用途：检查输入对象的值是否符合网址格式 
输入：str 输入的字符串 
返回：如果通过验证返回true,否则返回false 
*/ 

function f_check_URL(obj){     
    //var myReg = /^((http:[/][/])?\w+([.]\w+|[/]\w*)*)?$/;
    if(myReg.test( obj )) return true;    
    f_alert(obj,"请输入合法的网页地址");   
    return false;    
} 
//判断是否为整数 是则返回true 否这返回false
function f_check_integer(obj)   
{          
    if (/^(\+|-)?\d+$/.test( obj ))    
    {   
       return true;   
    }    
    else    
    {    
        return false;   
    }   
}  
//删除两边空格
function $trim(str){  
 var patrn = /(^\s+|\s$)/g;   
 return str.replace(patrn, "");   
}

//校验字符串：只能输入6-20个字母、数字、下划线   
function $check_userName_cur(str){   
 var patrn=/^[a-zA-Z][a-zA-Z0-9_]{5,12}$/;         ///^(\w){6,12}$/;   
 return patrn.test(str);   
};   

//检验密码
function isPasswd(s)
{
var patrn=/^(\w){6,10}$/;
if (!patrn.exec(s)) return false
return true
}


//校验用户姓名：只能输入1-30个以字母开头的字串
function isTrueName(s)
{
var patrn=/^[a-zA-Z]{1,30}$/;
if (!patrn.exec(s)) return false
return true
}


function newWindow (doc, hite, wide, bars, resize) {
var winNew="_blank";
var opt="toolbar=1,location=1,directories=1,status=1,menubar=1,";
opt+=("scrollbars="+bars+",");
opt+=("resizable="+resize+",");
opt+=("width="+wide+",");
opt+=("height="+hite);
winHandle=window.open(doc,winNew,opt);
return;
}

