+ -
当前位置:首页 → 问答吧 → 如何用js实现注册时的两次密码一致才通过

如何用js实现注册时的两次密码一致才通过

时间:2011-09-04

来源:互联网

下面是详细代码 其实我就想问一下 如何让两次密码一致的情况下通过 出现了很多错误 比如 密码不符合要求但是密码一致他也在密码框后面的div中给我显示了正确 两个密码为空也正确 求一个精简的判断两次密码一致无bug js



JScript code
function $(id){
    return document.getElementById(id);
}


function currencyFocus(id,promptTxt){
    var Div=$(id);
    Div.className="import_prompt";
    Div.innerHTML=promptTxt;
}


function userNameFocus(){

    currencyFocus("nameid","字母数字的组合最少6位!");
}
function pwdFocus(){
    currencyFocus("passid","字母数字的组合最少6位!");
}
function rpwdFocus(){
    currencyFocus("repassid","字母数字的组合最少6位!");
}
function nickNamefocus(){
    currencyFocus("zNameid","必须是汉字最少2位最多5位!");
}

function emailfocus(){
    currencyFocus("emailid","必须是合法邮箱!");
}
function addressfocus(){
    currencyFocus("addressid","请输入您正确的地址!");
}




function currencyBlur(fromId,DivId,reg,promptTxt){
    var value=$(fromId).value;
    var Div=$(DivId);
    
    //if(value!=""){
        
        if(reg.test(value)==false){
            Div.innerHTML=promptTxt;
            Div.className="error_prompt";
            return false;
        }else{
            Div.innerHTML="输入正确!";
            Div.className="ok_prompt";
            return true;
        }
    //}
    //Div.innerHTML="";
    //Div.className="";
    
}


//检查两次输入密码是否一样
function checkpass(){
    var pass=$("pass").value;
    var rpass=$("repass").value;
    var Div=$("repassid");
    var Div2=$("passid");
    if(pass==rpass&&pass!=""&&rpass!=""){
        Div.innerHTML="输入正确!";
        Div.className="ok_prompt";
        Div2.innerHTML="输入正确!";
        Div2.className="ok_prompt";
        return true    
    }else if(pass==""&&rpass==""){
        
        Div.innerHTML="";
        Div.className="";
        Div2.innerHTML="";
        Div2.className="";
        return false;
    }else{
        Div.innerHTML="两次密码输入不一致!";
        Div.className="error_prompt";
        Div2.innerHTML="两次密码输入不一致!";
        Div2.className="error_prompt";
        return false;
    }
    
}



function userNameBlur(){
    var reg=/^[a-zA-Z][a-zA-Z0-9]{5,8}$/;
    return currencyBlur("uname","nameid",reg,"输入格式不正确!");
}
function pwdBlur(){
    var reg=/^[a-zA-Z][a-zA-Z0-9]{5,8}$/;
    if(checkpass()){
        return currencyBlur("pass","passid",reg,"输入格式不正确!");
    }else{
        return false;
    }
    
}
function rpwdBlur(){
    var reg=/^[a-zA-Z][a-zA-Z0-9]{5,8}$/;
    if(checkpass()){
        return currencyBlur("repass","repassid",reg,"输入格式不正确!");
    }else{
        return false;
    }
    
}
function nickNameBlur(){
    var reg=/^[\u4e00-\u9fa5]{2,5}$/;
    return currencyBlur("zName","zNameid",reg,"输入格式不正确!");
}

function emailBlur(){
    var reg=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
    return currencyBlur("email","emailid",reg,"输入格式不正确!");
}
function addressBlur(){
    var reg=/^[\u4e00-\u9fa5][a-zA-Z0-9\u4e00-\u9fa5]{6,50}$/;
    return currencyBlur("address","addressid",reg,"输入格式不正确!");
}




function checkForm(){
    if(userNameBlur()&&pwdBlur()&&nickNameBlur()&&emailBlur()&&addressBlur()){
        return true;
    }else{
        return false;
    }
}

作者: dbh0512   发布时间: 2011-09-04

给个思路,先验证密码格式,不正确直接提示“重新输入”,符合要求的话,再比对两个div的value值,不一致,提示“密码不一致”,并清空第二个div的内容外加focus()...

作者: BLUE_LG   发布时间: 2011-09-04

如果不符合格式的这种情况
你的checkpass函数中
if(pass==rpass&&pass!=""&&rpass!=""){
  Div.innerHTML="输入正确!";
  Div.className="ok_prompt";
  Div2.innerHTML="输入正确!";
  Div2.className="ok_prompt";
  return true  
  }
上来就把两个div的innerHTML设为"输入正确" 然后当走currencyBlur函数时 因为密码不符合格式 密码div的innerHTML变了 但此时return了false 所以重复密码的div还是输入正确

作者: fanchuanzhidu   发布时间: 2011-09-04

热门下载

更多