function text_strlen(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;
}
function  isChinese(name)//中文值检测
{
	var flag = true;
  if(name.length==0)
  {
		flag = false;
		return flag;
  }
  for(i=0;i<name.length;i++)  
  {
    if(name.charCodeAt(i)<=128)
    {
      flag = false;
      break;
    }
  }
  return  flag;
}
function  isNumber(name)//数值检测
{
    if(name.length==0)
        return  false;
    for(i=0;i<name.length;i++)
    {
      if(name.charAt(i)<"0" || name.charAt(i)>"9")
				return  false;
    }
    return  true;
}
function isValidDate(iY,iM,iD)
{
//alert(iY+":"+iM+":"+iD);
  var a=new Date(iY,iM-1,iD);//除了只要记住月份是从0－11就不会乱了，先把取得月份减一，生成时间后获取月份时在把月份加一就对了。
  var y=a.getFullYear();
  var m=a.getMonth();
  var d=a.getDate();
  m=m+1;
  //alert(y+":"+m+":"+d);
  if(y!=iY  || m!=iM || d!=iD)   
  {
		return  false;
  }
 return  true;
}   
function  isValidAgeAndIdno(iY, iM, iD,iAge)   //检查年龄和身份证号码是否一致
{     
      var now = new Date();
      var nowy = now.getFullYear();
      var   a=new   Date(iY,iM-1,iD);   
      var   d=a.getDate();   
      var ay = a.getFullYear();
     
      if   ((parseInt(nowy)-parseInt(ay)!=parseInt(iAge)))   
      {   
              return   false;   
      }   
    return  true;   
}   
//function isValidateSexAndIdno(stridno,objP) //检查性别和身份证号码是否一致
//{
//    var objsex;
//		objsex= objP.value;
//    var idsex;
//    if(stridno.length==18)
//    {
//			if(parseInt(stridno.substr(16,1))%2==0)
//				idsex = 0;
//			else
//				idsex = 1;  
//    }
//    else
//    {
//			if(parseInt(stridno.substr(14,1))%2==0)
//				idsex = 0;
//			else
//				idsex = 1;  
//    }
//    if(idsex != objsex)return false;
//    return true;
//}
function check(frm)
{	
	var reg;
	reg=/^[a-zA-Z0-9]{3,16}$/;
	var ema;
	ema=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
	if(frm.username.value==""){
		username_info.innerHTML="通行证帐号不能为空～";
		frm.username.focus();
		return false;
	}
	if(reg.test(frm.username.value.trim())==false){
		username_info.innerHTML="由英文字母(不区分大小写)及数字组成，不能包含空格、下划线等其它字符，长度为3-16位";
		frm.username.focus();
		return false;
	}
	if(frm.pwd.value.trim()==""){
		pwd_info.innerHTML="请输入密码～";
		frm.pwd.focus();
		return false;
	}
	if(frm.pwd.value.trim().length<6){
		pwd_info.innerHTML="密码格式不正确～";
		frm.pwd.focus();
		return false;
	}
	if(frm.pwd.value.trim()!=frm.pwd2.value.trim()){
		pwd2_info.innerHTML="两次输入的密码不一致～";
		frm.pwd2.focus();
		return false;
	}
	if(frm.email2.value==""){
		email2_info.innerHTML="电子邮箱不能为空～";
		frm.email2.focus();
		return false;
	}
	if(ema.test(frm.email2.value.trim())==false){
		email2_info.innerHTML="邮箱格式不正确";
		frm.email2.focus();
		return false;
	}
	if(frm.truename.value==""){
		truename_info.innerHTML="真实姓名不能为空～";
		frm.truename.focus();
		return false;
	}
	if(!isChinese(frm.truename.value.trim()))
	{
		truename_info.innerHTML="[真实姓名]格式不是中文～";
		frm.truename.focus();
		return false;
	}
	if(frm.idno.value.trim()==""){
		idno_info.innerHTML="[身份证号]不能为空～";
		frm.idno.select();
		frm.idno.focus();
		return false;
	}
	if(frm.idno.value.trim()!=""){
		if(18!=frm.idno.value.trim().length&&15!=frm.idno.value.trim().length){
			idno_info.innerHTML="[身份证号]长度为18或15位～";
			frm.idno.select();
			frm.idno.focus();
			return false;
		}
		if(frm.idno.value.trim()=="111111111111111"){
			idno_info.innerHTML="[身份证号]格式不正确～1";
			frm.idno.select();
			frm.idno.focus();
			return false;
		}
		var StrNo =frm.idno.value.toString();
		if(StrNo.length==18)   
		{   
			var a,b,c   
			if(!isNumber(StrNo.substr(0,17)))   
			{
				idno_info.innerHTML="[身份证号]格式不正确～2";
				frm.idno.select();
				frm.idno.focus();
				return false;
			}   
			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("身份证好号码格式不正确1");
						idno_info.innerHTML="[身份证号]格式不正确～3";
						frm.idno.select();
						frm.idno.focus();
						return false;
					}
					break;   
				case   1: 
					if   (   c!=0   )   
					{
						idno_info.innerHTML="[身份证号]格式不正确～4";
						frm.idno.select();
						frm.idno.focus();
						return   false;
					}
					break;   
				case   2:
					if   (   c!="X") 
					{
						//alert("身份证好号码格式不正确");
						idno_info.innerHTML="[身份证号]格式不正确～5";
						frm.idno.select();
						frm.idno.focus();
						return   false;
					}
					break;   
				case   3:
					if   (   c!=9   )   
					{
						//alert("身份证好号码格式不正确");
						idno_info.innerHTML="[身份证号]格式不正确～6";
						frm.idno.select();
						frm.idno.focus();
						return   false;
					}
					break;   
				case   4:
					if   (   c!=8   )   
					{
						//alert("身份证好号码格式不正确");
						idno_info.innerHTML="[身份证号]格式不正确～";
						frm.idno.select();
						frm.idno.focus();
						return   false;
					}
					break;   
				case   5:
					if   (   c!=7   )   
					{
						//alert("身份证好号码格式不正确");
						idno_info.innerHTML="[身份证号]格式不正确～";
						frm.idno.select();
						frm.idno.focus();
						return   false;
					}
					break;   
				case   6:
					if   (   c!=6   )   
					{
						//alert("身份证好号码格式不正确");
						idno_info.innerHTML="[身份证号]格式不正确～";
						frm.idno.select();
						frm.idno.focus();
						return   false;
					}
					break;   
				case   7:
					if   (   c!=5   )   
					{
						//alert("身份证好号码格式不正确");
						idno_info.innerHTML="[身份证号]格式不正确～";
						frm.idno.select();
						frm.idno.focus();
						return   false;
					}
					break;   
				case   8:
					if(c!=4)   
					{
						//alert("身份证好号码格式不正确");
						idno_info.innerHTML="[身份证号]格式不正确～";
						frm.idno.select();
						frm.idno.focus();
						return   false;
					}
					break;   
				case   9:
					if(c!=3)   
					{
						//alert("身份证好号码格式不正确");
						idno_info.innerHTML="[身份证号]格式不正确～";
						frm.idno.select();
						frm.idno.focus();
						return false;
					}
					break;   
				case   10:
					if(c!=2)  
					{
						//alert("身份证好号码格式不正确");
						idno_info.innerHTML="[身份证号]格式不正确～";
						frm.idno.select();
						frm.idno.focus();
						return   false
					}   
			}
			if(!isValidDate(StrNo.substr(6,4),StrNo.substr(10,2),StrNo.substr(12,2)))   
			{
				idno_info.innerHTML="[身份证号]格式不正确～";
				frm.idno.select();
				frm.idno.focus();
				return false;
			}     
		} 
		if(StrNo.length==15)
		{ 
			var r = /^[\d]{15}$/; 
			if(!r.test(StrNo)){
				idno_info.innerHTML="[身份证号]格式不正确～";
				frm.idno.select();
				frm.idno.focus();
				return false;
			}
			if (!isValidDate("19"+StrNo.substr(6,2),StrNo.substr(8,2),StrNo.substr(10,2))) {
				idno_info.innerHTML="[身份证号]格式不正确～";
				frm.idno.select();
				frm.idno.focus();
				return false;
			}     
		} 
	}
	if(frm.verify_code.value.trim()==""){
		rands_info.innerHTML="请输入验证码～";
		frm.verify_code.focus();
		return false;
	}
	if(frm.agree.checked==false){
		agree_info.innerHTML="你没有同意最终用户协议,不能注册!";
		frm.agree.focus();
		return false;
	}
}
