Ajax判断用户名是否重复、二级联动、Ajax判断密码强度

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Register.aspx.cs" Inherits="member_Registe"
    EnableEventValidation="false" %>

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>无标题文档</title>

    <script type="text/javascript" src="../js/jquery-1.2.1.js"></script>

    <script type="text/javascript" src="../js/calenderJS.js"></script>

    <script type="text/javascript" src="../js/checkUserName.js"></script>

    <script type="text/javascript" src="../js/checkCodeStrength.js"></script>

    <script type="text/javascript">
        $(function(){

           //二级联动

            var hiddenBranchOne = null;
            var hiddenBranchTwo = null;
            var url = "/Web/handler/GetBranchOne.aspx";
            $.getJSON(url,function(data){
                $("#ddlInfoSourceType").append($("<option>").text("-----请选择-----").attr("value","-1"));
                $("#ddlInfoSourceDetail").append($("<option>").text("-----请选择-----").attr("value","-1"));
                $(data).each(function(){
                    $("#ddlInfoSourceType").append($("<option>").text(this.name).attr("value",this.id));
                });
                $("#ddlInfoSourceType").val("-1");
                $("#ddlInfoSourceDetail").val("-1");
            });
            $("#ddlInfoSourceType").change(function(){
                var selectBranchOneValue=$(this).val();
                $("#hiddenBranchOne").val(selectBranchOneValue);
                    $("#ddlInfoSourceDetail").empty();
                    var url = "/Web/handler/GetBranchTwo.aspx";
                    $.getJSON(url,{id:$(this).attr("value")},function(data){
                        $(data).each(function(){
                            $("#ddlInfoSourceDetail").append($("<option>").text(this.name).attr("value",this.id));
                        });
                    });
            });
            
             $("#ddlInfoSourceDetail").change(function(){
                var selectBranchTwoValue=$(this).val();
                $("#hiddenBranchTwo").val(selectBranchTwoValue);
             });

 

          

      

        //Ajax判断用户名是否存在

            $("#txtUserName").keyup(function() {
                var name = $(this).val();
                var url = "/Web/handler/checkUserName.ashx?name="+encodeURI(encodeURI(name))+"&t="+new Date().getTime();
                $.get(url, function(data) {
                    if (data == "true") {
                        $("#imgFlag").attr("src","/Web/images/false.gif");
                        $("#ibtnRegister").attr({disabled:"true",alt:"该用户名已被抢注,请更换用户名后再注册"});
                        $("#spanMsg").html("<font color='red'>该用户名已被抢注</font>");
                    }
                    else {
                        $("#imgFlag").attr("src","/Web/images/right.gif");          
                        $("#ibtnRegister").removeAttr("alt");
                        $("#ibtnRegister").removeAttr("disabled");
                        $("#spanMsg").html("<font color='red'>该用户名有效</font>");
                    }
                });
            });

 

 

 

       //判断密码强度

 

//CharMode函数
//测试某个字符是属于哪一类.
function CharMode(iN){
    if (iN>=48 && iN <=57) //数字
        return 1;
    if (iN>=65 && iN <=90) //大写字母
        return 2;
    if (iN>=97 && iN <=122) //小写
        return 4;
    else
        return 8; //特殊字符
}

//bitTotal函数
//计算出当前密码当中一共有多少种模式
function bitTotal(num){
    modes=0;
    for (i=0;i<4;i++){
        if (num & 1) modes++;
        num>>>=1;
    }
    return modes;
}

//checkStrong函数
//返回密码的强度级别
function checkStrong(sPW){
    if (sPW.length<=4)
        return 0; //密码太短
    Modes=0;
    for (i=0;i<sPW.length;i++){
//测试每一个字符的类别并统计一共有多少种模式.
    Modes|=CharMode(sPW.charCodeAt(i));
    }
    return bitTotal(Modes);
}

//pwStrength函数
//当用户放开键盘或密码输入框失去焦点时,根据不同的级别显示不同的颜色
function pwStrength(pwd){
    O_color="#eeeeee";
    L_color="#FF0000";
    M_color="#FF9900";
    H_color="#33CC00";
    if (pwd==null||pwd==''){
        Lcolor=Mcolor=Hcolor=O_color;
    }
    else{
        S_level=checkStrong(pwd);
        switch(S_level) {
            case 0:
                Lcolor=Mcolor=Hcolor=O_color;
            case 1:
                Lcolor=L_color;
                Mcolor=Hcolor=O_color;
                break;
            case 2:
                Lcolor=Mcolor=M_color;
                Hcolor=O_color;
                break;
            default:
                Lcolor=Mcolor=Hcolor=H_color;
        }
    }
    document.getElementById("strength_L").style.background=Lcolor;
    document.getElementById("strength_M").style.background=Mcolor;
    document.getElementById("strength_H").style.background=Hcolor;
    return;
}
        });
    </script>

</head>
<body>
    <form id="member_Register" runat="server">
        <table border="0" align="center" cellpadding="0" cellspacing="0" style="width: 708px;
            height: 453px;">
            <tr>
                <td height="44" style="width: 359px">
                    <div align="center">
                        <img src="../images/reg_new_title01.jpg" width="153" height="30" /></div>
                </td>
                <td>
                </td>
                <td style="width: 186px">
                    &nbsp;</td>
                <td style="width: 384px">
                    &nbsp;</td>
            </tr>
            <tr>
                <td style="width: 359px">
                    <div align="right" style="text-align: right">
                        用户名:<br />
                    </div>
                </td>
                <td>
                    <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="txtUserName"
                        Text="*"></asp:RequiredFieldValidator></td>
                <td style="width: 186px">
                    <input type="text" name="textfield" id="txtUserName" runat="server" />
                </td>
                <td style="width: 384px">
                    &nbsp;<span id="spanImgFlag"><img src="" id="imgFlag" /></span><span id="spanMsg"></span></td>
            </tr>
            <tr>
                <td style="width: 359px">
                    <div align="right" runat="server" style="text-align: right" id="Div1">
                        登陆密码:</div>
                </td>
                <td>
                    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtPwd"
                        ErrorMessage="RequiredFieldValidator">*</asp:RequiredFieldValidator></td>
                <td style="width: 186px; text-align: left;">
                    <input id="txtPwd" type="password" runat="server" οnkeyup="pwStrength(this.value)"
                        οnblur="pwStrength(this.value)" style="width: 148px" /></td>
                <td style="width: 384px">
                    密码强度<table width="217" border="1" cellspacing="0" cellpadding="1" bordercolor="#cccccc"
                        height="23" style="display: inline; position: static; vertical-align: middle;">
                        <tr align="center" bgcolor="#eeeeee">
                            <td width="33%" id="strength_L">
                                弱</td>
                            <td width="33%" id="strength_M">
                                中</td>
                            <td width="33%" id="strength_H">
                                强</td>
                        </tr>
                    </table>
                </td>
            </tr>
            <tr>
                <td style="text-align: right; width: 359px;" runat="server" id="Td2">
                    再次输入密码:</td>
                <td>
                    <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="txtPwd"
                        ErrorMessage="RequiredFieldValidator">*</asp:RequiredFieldValidator></td>
                <td style="width: 186px">
                    <input id="txtPwdAgain" type="password" runat="server" /><br />
                    <asp:CompareValidator ID="valcPwdAgain" runat="server" ControlToValidate="txtPwdAgain"
                        ControlToCompare="txtPwd">两次输入的密码不一致</asp:CompareValidator></td>
                <td style="width: 384px">
                    &nbsp;</td>
            </tr>
            <tr>
                <td style="text-align: right; width: 359px; height: 42px;" runat="server" id="Td1">
                    出生日期:</td>
                <td style="height: 42px">
                    <asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" ControlToValidate="txtPwd"
                        ErrorMessage="RequiredFieldValidator">*</asp:RequiredFieldValidator></td>
                <td style="width: 186px; height: 42px;">
                    <input type="text" name="textfield4" οnclick="HS_setDate(this)" readonly="readonly"
                        id="txtBirth" runat="server" /></td>
                <td style="width: 384px; height: 42px;">
                </td>
            </tr>
            <tr>
                <td style="width: 359px">
                    <div align="right" style="text-align: right">
                        性别:</div>
                </td>
                <td>
                </td>
                <td style="width: 186px">
                    &nbsp;<input id="radMale" type="radio" runat="server" name="sex" checked />男 &nbsp;<input
                        id="radFemale" type="radio" runat="server" name="sex" />女</td>
                <td style="width: 384px">
                    &nbsp;</td>
            </tr>
            <tr>
                <td style="width: 359px">
                    <div align="right" style="text-align: right">
                        信息来源:</div>
                </td>
                <td style="text-align: left">
                    <asp:RequiredFieldValidator ID="RequiredFieldValidator5" runat="server" ControlToValidate="txtPwd"
                        ErrorMessage="RequiredFieldValidator">*</asp:RequiredFieldValidator></td>
                <td style="width: 186px; text-align: left;">
                    <asp:DropDownList ID="ddlInfoSourceType" runat="server" Width="102px">
                    </asp:DropDownList><asp:HiddenField ID="hiddenBranchOne" runat="server" OnValueChanged="hiddenBranchOne_ValueChanged" />
                    <asp:DropDownList ID="ddlInfoSourceDetail" Width="102px" runat="server">
                    </asp:DropDownList><asp:HiddenField ID="hiddenBranchTwo" runat="server" />
                </td>
                <td style="width: 384px">
                    &nbsp;</td>
            </tr>
            <tr>
                <td style="width: 359px">
                    <div align="right">
                    </div>
                </td>
                <td>
                </td>
                <td style="width: 186px">
                    &nbsp;</td>
                <td style="width: 384px">
                    &nbsp;</td>
            </tr>
            <tr>
                <td style="width: 359px; height: 49px;">
                    <div align="right">
                    </div>
                </td>
                <td style="height: 49px">
                </td>
                <td style="width: 186px; height: 49px;">
                    &nbsp;<asp:ImageButton ID="ibtnRegister" runat="server" ImageUrl="~/images/btn_register.gif"
                        OnClick="ibtnRegister_Click" /></td>
                <td style="width: 384px; height: 49px;">
                    &nbsp;</td>
            </tr>
        </table>
        <br />
    </form>
</body>
</html>

 

 

 

 

 

 

会员注册按钮   CS代码

    /// <summary>
    /// 会员注册
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void ibtnRegister_Click(object sender, ImageClickEventArgs e)
    {
        string userName = txtUserName.Value.Trim();
        string pwd = txtPwd.Value.Trim();
        string pwdAgain = txtPwdAgain.Value.Trim();
        DateTime birth = DateTime.Parse(txtBirth.Value.ToString());
        string gender = radMale.Checked ? "1" : "2";
        string infoSource_type = hiddenBranchOne.Value;
        string infoSource_detail = hiddenBranchTwo.Value;
        if (infoSource_type != "-1" || infoSource_detail != "-1")
        {
            Member member = new Member(userName, pwd, gender, birth, infoSource_type, infoSource_detail);
            if (mm.MemberRegister(member))
            {
                Session["member"] = member.UserName;
                txtBirth.Value = "";
                txtUserName.Value = "";
                Response.Redirect("RegisterSuccess.aspx");
            }
            else
            {
                Page.ClientScript.RegisterStartupScript(Page.GetType(), null, "<script type='text/javascript' defer>alert('注册失败,请重试或联系管理员!');</script>");
                return;
            }
        }
        else
            Page.ClientScript.RegisterStartupScript(Page.GetType(), null, "<script type='text/javascript' defer>alert('请选择信息来源种类及详细!');</script>");
    }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值