面向对象先生

导航

JavaScript代码_验证用户名+密码+Email的合法性

 

//检测用户名的格式是否合法

function checkUsername() {

    var errorUsername = "";

    var username = document.getElementsByName("username")[0].value;
    if( username == "" || username == null ){
        errorUsername = "用户名不能为空!";
        return errorUsername;
    }
    switch( isUsername( username ) ){
        case 0:
            return errorUsername;
        case 1: {
            errorUsername = "用户名‘"+username+"’格式不正确";
            //用户名不能以数字开头
            return errorUsername;
        }
        case 2: {
            errorUsername = "用户名‘"+username+"’字符长度有误";
            //合法长度为6-20个字符
            return errorUsername ;
        }
        case 3: {
            errorUsername = "用户名‘"+username+"’含有非法字符";
            return errorUsername ;
        }
        case 4: {
            errorUsername = "用户名‘"+username+"’格式不正确";
            //用户名只能包含_,英文字母,数字
            return errorUsername;
        }
    }
    return errorUsername;
}


//检测用户名的辅助函数

function isUsername( username ){
    if( /^\d.*$/.test( username ) ){
        return 1;
    }
    if(! /^.{6,20}$/.test( username ) ){
        return 2;
    }
    if(! /^[\w_]*$/.test( username ) ){
        return 3;
    }
    if(! /^([a-z]|[A-Z])[\w_]{5,19}$/.test( username ) ){
        return 4;
    }
    return 0;
}


//检测密码的输入是否合法

function checkPassword(){
    var errorPsdStr = "";
    //设置密码的错误的信息

    var password1 = document.getElementsByName("password_one")[0].value;
    var password2 = document.getElementsByName("password_two")[0].value;

    if(password1 == ""){
        errorPsdStr += "密码不能为空! \n";
    }
    if(password1 != ""){
        if(password1.length < 6 || password1.length >16){
            errorPsdStr += "密码长度不在6-16之间! \n";
        }
    }
    if(password1 != ""){
        if(password1.length >= 6 || password1.length <= 16){
            if(password1 != password2){
                errorPsdStr += "两次输入的密码不一致! \n";
            }
        }
    }

    return errorPsdStr;
}


//检测email的格式是否合法

function checkEmail(){
    var errorEmailStr = "";
    //设置emai的错误信息

    var email = document.getElementsByName("email")[0].value;
    var emailReg = /([0-9a-zA-Z_-]+)@([0-9a-zA-Z_-]+)\.([0-9a-zA-Z_-]+)/;
    if(!emailReg.test(email)){
        errorEmailStr = errorEmailStr + "你的Email地址不合法!\n";
    }

    return errorEmailStr;
}

//全部在这里进行合法的检测汇总
//greatwqs于2009年9月26日

function checkTotal(){
   
    var errorTotalStr = "";
   
    document.getElementById("formErrors").innerHTML = "";

    errorTotalStr = checkUsername() + checkPassword() + checkEmail();

    if(errorTotalStr == ""){
        return true;
    }else{
        document.getElementById("formErrors").innerHTML = errorTotalStr;
        return false;
    }
}

 

posted on 2009-12-07 17:53  面向对象先生  阅读(896)  评论(0)    收藏  举报