var regexEnum = 
{
	intege:"^([+-]?)\\d+$",					//整数
	intege1:"^([+]?)\\d+$",					//正整数
	intege2:"^-\\d+$",						//负整数
	num:"^([+-]?)\\d*\\.?\\d+$",			//数字
	num1:"^([+]?)\\d*\\.?\\d+$",			//正数
	num2:"^-\\d*\\.?\\d+$",					//负数
	decmal:"^([+-]?)\\d*\\.\\d+$",			//浮点数
	decmal1:"^([+]?)\\d*\\.\\d+$",			//正浮点数
	decmal2:"^-\\d*\\.\\d+$",				//负浮点数
	email:"^\\w+((-\\w+)|(\\.\\w+))*\\@[A-Za-z0-9]+((\\.|-)[A-Za-z0-9]+)*\\.[A-Za-z0-9]+$", //邮件
	color:"^[a-fA-F0-9]{6}$",				//颜色
	url:"^http[s]?:\\/\\/([\\w-]+\\.)+[\\w-]+([\\w-./?%&=]*)?$",	//url
	chinese:"^[\\u4E00-\\u9FA5\\uF900-\\uFA2D]+$",					//仅中文
	ascii:"^[\\x00-\\xFF]+$",				//仅ACSII字符
	zipcode:"^\\d{6}$",						//邮编
	mobile:"^(13|15|18)[0-9]{9}$",				//手机
	ip4:"^(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5]).(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5]).(d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5]).(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])$",				//ip地址
	notempty:"^\\S+$",						//非空
	picture:"(.*)\\.(jpg|bmp|gif|ico|pcx|jpeg|tif|png|raw|tga)$",	//图片
	rar:"(.*)\\.(rar|zip|7zip|tgz)$",								//压缩文件
	date:"^\\d{4}(\\-|\\/|\.)\\d{1,2}\\1\\d{1,2}$",					//日期
	qq:"^[1-9]*[1-9][0-9]*$",				//QQ号码
	tel:"(\\d{3}-|\\d{4}-)?(\\d{8}|\\d{7})",	//国内电话
	//password:"^\\w+$",						//用来用户注册。匹配由数字、26个英文字母或者下划线组成的字符串
	password:"^[0-9a-zA-Z]{6,16}$",
	actcode:"^[0-9a-zA-Z]{6,18}$",
	username:"^[A-Za-z]\\w+$",				//用来用户注册。以字母开头，匹配由数字、26个英文字母或者下划线组成的字符串
	string:"^([\\u4E00-\\u9FA5\\uF900-\\uFA2D]|\\w)+$",
	letter:"^[A-Za-z]+$",					//字母
	letter_u:"^[A-Z]+$",					//大写字母
	letter_l:"^[a-z]+$",					//小写字母
	idcard:"^[1-9]([0-9]{14}|[0-9]{17})$"	//身份证
}

var aCity={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"} 
/*
function isCardID(sId){ 
	var iSum=0 ;
	var info="" ;
	if(!/^\d{17}(\d|x)$/i.test(sId) && !/^\d{14}(\d|x)$/i.test(sId)) return "你输入的身份证长度或格式错误"; 
	sId=sId.replace(/x$/i,"a"); 
	if(aCity[parseInt(sId.substr(0,2))]==null) return "你的身份证地区非法"; 
	if(sId.length==18){
		var sBirthday=sId.substr(6,4)+"-"+Number(sId.substr(10,2))+"-"+Number(sId.substr(12,2));
	}else{
		var sBirthday="19"+sId.substr(6,2)+"-"+Number(sId.substr(8,2))+"-"+Number(sId.substr(10,2));
	}
	var d=new Date(sBirthday.replace(/-/g,"/")) ;
	if(sBirthday!=(d.getFullYear()+"-"+ (d.getMonth()+1) + "-" + d.getDate()))return "身份证上的出生日期非法"; 
	if(sId.length==18){
		for(var i = 17;i>=0;i --) iSum += (Math.pow(2,i) % 11) * parseInt(sId.charAt(17 - i),11) ;
		if(iSum%11!=1) return "你输入的身份证号非法"; 
		var days = new Date();
		var gdate = days.getDate();
		var gmonth = days.getMonth();
		var gyear18 = days.getFullYear()-18;
		var personyear = d.getFullYear();
		if(personyear > gyear18) return "该身份证未到法定年龄，不能使用"; 
	}	
	return true;//aCity[parseInt(sId.substr(0,2))]+","+sBirthday+","+(sId.substr(16,1)%2?"男":"女") 
}
*/
function  getLen( str) {
  var totallength=0;
 
  for (var i=0;i<str.length;i++)
  {
   var intCode=str.charCodeAt(i);
 
   if (intCode>=0&&intCode<=128) {
    totallength=totallength+1; //非中文单个字符长度加 1
   }
   else {
    totallength=totallength+2; //中文字符长度则加 2
   }
  } //end for
 
  return totallength;
 
}
function isCardID(certid)
{
	var sErrMsg = "";
	var reg_15 = /\d{15}/;
	var reg_18 = /\d{17}([0-9]{1}|x|X)/;
	var monthPerDays = new Array("31","28","31","30","31","30","31","31","30","31","30","31");
	if(certid == "")
	{
		sErrMsg = "你输入的身份证号非法";
		return sErrMsg;
	}
	var ret = certid.length == 15?reg_15.test(certid):reg_18.test(certid);
	if(!ret)
	{
		sErrMsg = "你输入的身份证号非法";
		return sErrMsg;
	}
	birthDate = certid.length == 15?"19" + certid.substr(6,6):certid.substr(6,8);
	year = birthDate.substr(0,4);
	if(birthDate.substr(4,1) == '0')
		month = birthDate.substr(5,1);
	else
		month = birthDate.substr(4,2);
	if(birthDate.substr(6,1) == '0')
		day = birthDate.substr(7,1);
	else
		day = birthDate.substr(6,2);
	dd = parseInt(day);
	mm = parseInt(month);
	yy = parseInt(year);
	days = new Date();
	gdate = days.getDate();
	gmonth = days.getMonth();
	gyear18 = days.getFullYear()-18;
	if(mm>12 || mm<1 ||dd>31 || dd<1)
	{
		sErrMsg = "你输入的身份证号非法";
		return sErrMsg;
	}
	if(year % 100 != 0)
	{
		if(year % 4 ==0)
		monthPerDays[1] = 29;
	}
	else
	{
		if(year % 400 == 0)
		monthPerDays[1] = 29;
	}
	if(monthPerDays[mm - 1] < dd)
	{
		sErrMsg = "你输入的身份证号非法";
		return sErrMsg;
	}
	if(certid.length == 18)
	{
		var arTemp = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2);
		var num = 0;
		var proof;
		for(var i=0; i < 17; i ++)
		{
			num = num + certid.substr(i,1) * arTemp[i];
		}
		num = num % 11;
		switch(num)
		{
			case 0:proof='1';break;
			case 1:proof='0';break;
			case 2:proof='x';break;
			case 3:proof='9';break;
			case 4:proof='8';break;
			case 5:proof='7';break;
			case 6:proof='6';break;
			case 7:proof='5';break;
			case 8:proof='4';break;
			case 9:proof='3';break;
			case 10:proof='2';break;
		}
		if(certid.substr(17, 1) != proof)
		{
			sErrMsg = "你输入的身份证号非法";
			return sErrMsg;
		}
	}
	mm = mm -1;
	var prevTS18 = new Date(gyear18, gmonth, gdate,0,0,0);
	var ageTs = new Date(yy,mm,dd,0,0,0)
	var nowdate = new Date(days.getFullYear(), gmonth, gdate,0,0,0);
	if(ageTs > nowdate)
	{
	    sErrMsg = "你输入的身份证号非法";
		return sErrMsg;
	}
	if(prevTS18 < ageTs)
	{
		sErrMsg = "您未满18岁不能注册极光通行证!";
		return sErrMsg;
	}
	if(certid=="111111111111111")
	{
		sErrMsg = "你输入的身份证号非法";
		return sErrMsg;
	}
		if(getLen(certid) < 15)
	{
		sErrMsg = "你输入的身份证号非法";
		return sErrMsg;
	}
	return true;
}

/***----------判断密码的复杂程度----------***/
function CharMode(iN){
	if (iN>=48 && iN <=57) //数字
		return 1; 
	if (iN>=65 && iN <=90) //大写字母
		return 2;
	if (iN>=97 && iN <=122) //小写
		return 4;
	else
		return 8; //特殊字符
}
function bitTotal(num){
	modes=0;
	for (i=0;i<5;i++){
		if (num & 1) modes++;
		num>>>=1;
	}
	return modes;
}
function checkStrong(sPW){
	if (sPW.length<=5)
		return 0;  //密码太短
	Modes=0;
	for (i=0;i<sPW.length;i++){
		Modes|=CharMode(sPW.charCodeAt(i));
	}
	return bitTotal(Modes);	
}	
function pwStrength(text){
	if (text==null||text==''){
		$('#passpower > li').removeClass();
	}else{
		S_level=checkStrong(text);
		switch(S_level){
			case 0:
				$('#passpower > li').removeClass();
				break;
			case 1:
				$('#passpower > li').removeClass();
				$('#passpower > li:eq(0)').addClass('r');
				$('#passwdlevel').val('0');
				break;
			case 2:
				$('#passpower > li').removeClass();
				$('#passpower > li:eq(1)').addClass('z');
				$('#passwdlevel').val('1');
				break;
			default:
				$('#passpower > li').removeClass();
				$('#passpower > li:eq(2)').addClass('q');
				$('#passwdlevel').val('2');
		}
	}
	return;
}
/***----------判断密码的复杂程度----------***/
