经典注册,登录页面验证脚本(自MSN网站)

 

function  initComponent() {
// var email = document.registerForm.email;
//
 email.focus();
 setSourceCode();
    initCookie();
}


function  initRequest(url1)  {
    
if (window.XMLHttpRequest) {
        
return new XMLHttpRequest();
    }
 else if (window.ActiveXObject) {
        isIE 
= true;
        
return new ActiveXObject("Microsoft.XMLHTTP");
    }

}


function  setSourceCode() {
    
var loc = window.location;
 
var source = new String(loc);
 
var index = source.indexOf("?source=");
 
if(index != -1){
  
var code = source.substring(index+8,source.length);
        
if(isNaN(code) == false){
            setCookie(
"REGISTER_SOURCE",code);
            registerForm.source.value 
= code;
  }

 }

}


function  initCookie() {
    setCookie(
"PSYCHO","true");
}



// 检查密码
function  checkPassword() {
 
var password = document.registerForm.password.value;
 
var passwordConfirm = document.registerForm.passwordConfirm.value;
 
var passwordTip = document.getElementById("passwordTip");

 
if(password.length == 0){
  
return false;
 }


 
if(password.length < 6){
  passwordTip.innerHTML 
= "<font color='red'>&nbsp;密码长度不能小于6位!</font>";
 }
else{
  passwordTip.innerHTML 
= "&nbsp;要求6位以上的数字或字母";
 }

 
if(password.length > 0 && passwordConfirm.length > 0){
  
if(password != passwordConfirm){
   passwordTip.innerHTML 
= "<font color='red'>&nbsp;两次输入的密码不一样!</font>";
  }

 }


 checkIntegrity();
}


// 检查确认密码
function  checkConfirmPassword() {

    
var password = document.registerForm.password.value;
 
var passwordConfirm = document.registerForm.passwordConfirm.value;
 
var passwordTip = document.getElementById("passwordTip");

 
if(password.length < 6){
  passwordTip.innerHTML 
= "<font color='red'>&nbsp;密码长度不能小于6位!</font>";
 }
else{
  passwordTip.innerHTML 
= "&nbsp;要求6位以上的数字或字母";
 }

 
if(password.length > 0 && passwordConfirm.length > 0){
  
if(password != passwordConfirm){
   passwordTip.innerHTML 
= "<font color='red'>&nbsp;两次输入的密码不一样!</font>";
  }

 }


 checkIntegrity();
}


// 检查邮箱
function  checkEmail() {
 
var email = document.registerForm.email.value;
 
var emailTip = document.getElementById("emailTip");
 
var emailFlag = document.registerForm.emailFlag;

 
if(jcv_checkEmail(email) == false){
  emailTip.innerHTML 
= "<font color='red'>&nbsp;请输入有效的邮箱!</font>";
  emailFlag.value 
= "0";
  
return false;
 }


 
var url1 = CONTEXT_URI_PSYCHO2 +"/CheckEmail?email="+email;
    
var req = initRequest(url1);
 
var rt = "valid";
 emailTip.innerHTML 
= "<font color='blue'>&nbsp;正在检查邮箱 ...</font>";

    req.onreadystatechange 
= function() {
        
if (req.readyState == 4{
   
if(req.responseText=="0"){
    emailTip.innerHTML 
= "<font color='blue'>&nbsp;恭喜您,邮箱可用!</font>";
    emailFlag.value 
= "1";
   }

   
if(req.responseText=="1"){
    emailTip.innerHTML 
= "<font color='red'>&nbsp;邮箱已被注册!</font>";
    emailFlag.value 
= "0";
   }


        }

    }
;
    req.open(
"GET", url1, true);
    req.send(
null);
 checkIntegrity();
}


// 检查验证码
function  checkVerifyCode() {
 
var verifyCode = document.registerForm.verifyCode;
 
if(verifyCode.value == "" || verifyCode.value.length < 4){
        
return false;
    }

 checkIntegrity();
}


/**
 * 检查表单数据的完整性。
 
*/

function  checkIntegrity() {

 
//检查邮箱
 var emailFlag = document.registerForm.emailFlag;
 
if(emailFlag.value != "1"){
  
return false;
 }


 
//检查密码
    var psw = document.registerForm.password;
    
var pswc= document.registerForm.passwordConfirm;
 
if(psw.value == "" || psw.value.length < 6){
        
return false;
    }

    
if(psw.value != pswc.value){
        
return false;
    }


 
//检查验证码
    var verifyCode = document.registerForm.verifyCode;
 
if(verifyCode.value == "" || verifyCode.value.length < 4){
        
return false;
    }

}


function  jcv_checkEmail(emailStr)  {
        
if (emailStr.length == 0{
            
return false;
        }

        
// TLD checking turned off by default
        var checkTLD=0;
        
var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
        
var emailPat=/^(.+)@(.+)$/;
        
var specialChars="/(/)><@,;:///"/./[/]";
        
var validChars="[^/s" + specialChars + "]";
        
var quotedUser="("[^"]*")";
        
var ipDomainPat=/^[(d{1,3}).(d{1,3}).(d{1,3}).(d{1,3})]$/;
        
var atom=validChars + '+';
        
var word="(" + atom + "|" + quotedUser + ")";
        
var userPat=new RegExp("^" + word + "(/." + word + ")*$");
        
var domainPat=new RegExp("^" + atom + "(/." + atom +")*$");
        
var matchArray=emailStr.match(emailPat);
        
if (matchArray==null{
            
return false;
        }

        
var user=matchArray[1];
        
var domain=matchArray[2];
        
for (i=0; i<user.length; i++{
            
if (user.charCodeAt(i)>127{
                
return false;
            }

        }

        
for (i=0; i<domain.length; i++{
            
if (domain.charCodeAt(i)>127{
                
return false;
            }

        }

        
if (user.match(userPat)==null{
            
return false;
        }

        
var IPArray=domain.match(ipDomainPat);
        
if (IPArray!=null{
            
for (var i=1;i<=4;i++{
                
if (IPArray[i]>255{
                    
return false;
                }

            }

            
return true;
        }

        
var atomPat=new RegExp("^" + atom + "$");
        
var domArr=domain.split(".");
        
var len=domArr.length;
        
for (i=0;i<len;i++{
            
if (domArr[i].search(atomPat)==-1{
                
return false;
            }

        }

        
if (checkTLD && domArr[domArr.length-1].length!=2 &&
            domArr[domArr.length
-1].search(knownDomsPat)==-1{
            
return false;
        }

        
if (len<2{
            
return false;
        }

        
return true;
    }



function  DoFresh() {
 document.getElementById(
'valideImage').src=CONTEXT_URI_SSO+"/GenerateImage";
    document.registerForm.verifyCode.select();
}


function  displayVerifyCode() {

 
var verifyCodeText = document.getElementById("verifyCodeText");
 
var verifyCodeTip = document.getElementById("verifyCodeTip");
 
var verifyCodeImage = document.getElementById("verifyCodeImage");
 
var verifyCodeField = document.getElementById("verifyCodeField");

    
if(verifyCodeText.style.display == "none"){

  verifyCodeText.style.display 
= "block";
  verifyCodeTip.style.display 
= "block";
  verifyCodeImage.style.display 
= "block";
  verifyCodeField.style.display 
= "block";

  
var imgStr = '<img src="'+CONTEXT_URI_SSO+'/GenerateImage" name="valideImage" align="absmiddle" style="border:1px solid #000000;cursor:hand" height="40" id="valideImage" οnclick="DoFresh();">';
  imgStr 
+= '<script language="javascript">document.getElementById("valideImage").src = '+CONTEXT_URI_SSO + '"/GenerateImage";</script>';
        verifyCodeImage.innerHTML
=imgStr;
    }

}



/**
 * 检查表单的完整性.
 
*/

function  checkRegisterForm() {
    
var form = document.registerForm;

    
var email = form.email;
    
var emailFlag = form.emailFlag;
    
var psw = form.password;
    
var pswc= form.passwordConfirm;
    
var verifyCode = form.verifyCode;
    
var sex = form.sex;

    
if(email.value == ""){
        alert(
"请输入电子邮箱。");
        email.focus();
        
return false;
    }

    
if(emailFlag.value == "0"){
        alert(
"请输入有效的邮箱。");
        email.focus();
        
return false;
 }


 
if(sex[0].checked == false && sex[1].checked == false){
  alert(
"请选择您的性别。");
  
return false;
 }


    
if(psw.value == "" || psw.value.length < 6){
        alert(
"请输入密码,长度:大于6位,小于20位。");
        psw.focus();
        
return false;
    }

    
if(psw.value != pswc.value){
        alert(
"确认密码不正确。");
        pswc.focus();
        
return false;
    }

    
if(verifyCode.value == ""){
        alert(
"请输入验证码。");
        verifyCode.focus();
        
return false;
    }


    form.action 
= CONTEXT_URI_SSO+"/signUp.m5";
    form.referto2.value 
= "";
    form.referto.value 
= CONTEXT_URI_PSYCHO2 + "/topics/regFinish.m5"//转回处理
    
    
return true;
}



 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值