繁体   English   中英

没有电子邮件扩展名的Javascript代码用户登录

[英]Javascript Code User Login Without Email Extension

我遇到问题,不知道表单如何接受不带电子邮件扩展名的用户名,例如,我只能在“ pro@domain.com”中输入“ pro”

这是我的代码:

function loginHI(menu){
    $(".hopplerTextboxLogin").focusin(function(){
        hopplerTextboxFocused($(this));
    }).focusout(function(){
        $(this).removeClass("hopplerTextboxBorderBlue").addClass("hopplerTextbox");
    });

    $("#loginForm input").keyup(function(e){
        if(e.keyCode == 13){
            $("#btnLogin").click();
        }
    }); 

    $("#btnLogin, #btnLogin2").click(function(){

        //variable for email
        var get_email = $("#j_username").val();
        var get_pass = $("#j_password").val();

        //validation
        if(get_email=="" && get_pass==""){
            somethingIsWrongHere("divUsername_login","Required fields");
            somethingIsWrongHere("divPassword_login","Required fields");
            return false;
        }

        if(get_email=="" || !isValidEmailAddress(get_email)){
            somethingIsWrongHere("divUsername_login","Invalid email address");
            return false;
        }

        if(get_pass == ""){
            somethingIsWrongHere("divPassword_login","Password is required");
            return false;
        }

        var result_page = setProjectName + "/j_spring_security_check";

        $("#loginForm_message").html("<div class=\"loading_message_login\">logging in...</div>").fadeIn();
        $("#cboxContent").removeClass("cboxContentHeight").addClass("cboxContentHeightMessage");
        $.ajax({
            type: 'POST',
            url: result_page,
            data: $("#loginForm").serialize(),
            beforeSend: function (xhr) {
                xhr.setRequestHeader("X-Ajax-call", "true");
            },
            success: function(data) {
                if(data.result==1){
                    localStorage.shortlists = "";
                    var sl_array = [];
                    localStorage.userFullName = data.firstName+" "+data.lastName;
                    var user_url = "HICollection3/select?q=id%3A"+data.userId+"&wt=json&indent=true";
                    var sl_url = "ShortList_Collection/select?q=removed%3Afalse+AND+user_id%3A"+data.userId+"&rows=1000&wt=json&indent=true&json.wrf=?";
                    $.get("properties/querySolr",{url : sl_url},function(result) {
                        solr_results = result;
                        var obj = $.parseJSON(solr_results);
                        console.log("obj.numFound" + obj.numFound);
                        var sl = obj.docs;
                            $.each(sl,function(index){
                                    sl_array.push(sl[index].property_id);
                            });
                            localStorage.shortlists = sl_array;
                            /*EMBEDDED HIDDENLIST FXN*/
                            var hl_array = [];
                            var hl_url = "HiddenList_Collection/select?q=user_id%3A"+data.userId+"&rows=1000&wt=json&indent=true&json.wrf=?";
                            $.get("properties/querySolr",{url : hl_url},function(result2) {
                                    solr_results2 = result2;
                                    var obj2 = $.parseJSON(solr_results2);
                                    console.log("obj2.numFound" + obj2.numFound);
                                    var hl = obj2.docs;
                                    $.each(hl,function(index){
                                        hl_array.push(hl[index].property_id);
                                    });
                                    localStorage.hiddenlists = hl_array;
                                    $.get("properties/querySolr",{url : user_url},function(result3) {
                                        var solr_results3 = result3;
                                        var obj3 = $.parseJSON(solr_results3);
                                        console.log("obj3.numFound" + obj3.numFound);
                                        var user_res = obj3.docs;
                                        localStorage.userContact="";
                                        localStorage.userFullName="";
                                        localStorage.userEmail="";
                                            $.each(user_res,function(index){
                                                    localStorage.userFullName = user_res[index].firstName+" "+user_res[index].lastName;
                                                    localStorage.userEmail = user_res[index].email;
                                                    if(user_res[index].mobile!=undefined || user_res[index].mobile!="")
                                                        localStorage.userContact = user_res[index].mobile;
                                                    else if(user_res[index].telephone!=undefined || user_res[index].telephone!="")
                                                        localStorage.userContact = user_res[index].telephone;
                                                    else
                                                        localStorage.userContact = "";
                                            });
                                            setTimeout(function(){
                                                location.reload();
                                            },1000);

                                    });

                            });
                    });

                }
                else{
                    somethingIsWrongHere("",data.result);
                }
            }
        });

        return false;
    });

    $("#keepMeLoggedIn").click(function(){
        $("#rememberMe").trigger("click");
    });
}

用户登录时也应接受整个电子邮件地址。 这是isValidEmailAddress函数的代码

    function isValidEmailAddress(emailAddress) {
var pattern = new RegExp(/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i);
return pattern.test(emailAddress);

};

再次...您将使用的功能测试将取决于您要允许的字符。 如果您只允许使用字母和数字,则可以使用...

function isValidUsername(username) {
     var pattern = new RegExp(/^[a-zA-Z0-9]+$/);
     return pattern.test(username);
 }

以及是否要允许使用句点和@符号,以便可以将电子邮件用作用户名(可选)...

function isValidUserName(username) {
     var pattern = new RegExp(/^[a-zA-Z0-9\.\@]+$/);
     return pattern.test(username);
}

请注意,如果您使用第二个功能,则用户可以使用字母数字,@符号和句点的任意组合。 因此,他们可以输入@@@ ...或ddd@example.com或adfsadf8347

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM