验证码相关

来源:互联网 发布:php 下载图片到本地 编辑:程序博客网 时间:2024/05/16 04:29



后台可能用到的:

  ////随机验证码(6位纯数字)  

        //private string GenerateCheckCode()
        //{
        //    //创建整型型变量    
        //    int number;
        //    //创建字符型变量    
        //    char code;
        //    //创建字符串变量并初始化为空    
        //    string checkCode = String.Empty;
        //    //创建Random对象    
        //    Random random = new Random();
        //    //使用For循环生成4个数字    
        //    for (int i = 0; i < 6; i++)
        //    {
        //        //生成一个随机数    
        //        number = random.Next();
        //        //将数字转换成为字符型    
        //        code = (char)('0' + (char)(number % 10));

        //        checkCode += code.ToString();
        //    }
        //    //返回字符串    
        //    return checkCode;

        //} 





前台:


  <script type="text/javascript">

       
       var wait = 10;//验证码再次发送的时间限定
       $("#btnGetNo").disabled = false;

       function time(o) {
          
         
           if (wait == 0) {
               o.removeAttribute("disabled");
               o.value = "再次获取";
               wait = 10;
           } else {
               o.setAttribute("disabled", true);
               o.value = "重新发送(" + wait + ")";
               wait--;
               setTimeout(function () {
                   time(o)
               },
               1000)
           }
       }

       function GetNo()
       {
           if ($("#txtNum").val() == "")
           {
               var numbers = random();
               $("#txtNum").val(numbers);
               alert($("#txtNum").val());
               returnclock()
           }

           alert("验证码已发送至您输入的手机号!有效期5分钟。如未收到,60s后可再次获取。");
           time(document.getElementById("btnGetNo"));
           RemainTime();
       }


       //获取6位随机验证码
       function random() {
           var num = "";
           for (i = 0; i < 6; i++) {
               num = num + Math.floor(Math.random() * 10);
           }
           return num;
       }
       //验证码有效期倒计时
       var iTime = 30;//设置验证码有效时间
       function RemainTime() {
           var iSecond;
           var sSecond = "", sTime = "";
           if (iTime >= 0) {
               iSecond = parseInt(iTime % 30);
               if (iSecond >= 0) {
                   sSecond = iTime + "秒";
               }
               sTime = "<span style='color:darkorange;font-size:13px;'>" + sSecond + "</span>";
               if (iTime == 0) {
                  // alert($("#txtNum").val());
                   $("#txtNum").val("");
                 //  alert($("#txtNum").val());
                   sTime = "<span style='color:red;font-size:12px;'>验证码已过期</span>";
               }
               else {
                   Account = setTimeout("RemainTime()", 1000);
               }
               iTime = iTime - 1;
           }
           $("#endtime").html(sTime);
       }
       
       //重置验证码过期时间
       function returnclock()
       {
           iTime = 30;
       }
       
       function loginSubmit() {
           //alert(123);
           var postdata = {
               tel: $("#txtTel").val(),
               num: $("#txtNum").val(),
               innum: $("#txtCode").val(),

               //示例数据
               //tel: "123456789",  //电话号码
              // num: "123",        //30min内有效地验证码
              // innum: "123",     //用户实际输入的验证码
           }

           $.ajax({
               type: "post",
               //url: "/account/AjaxAuthorizeUser?phone=" + @ViewBag.txtNum + "&smsCodeRand=" + @ViewBag.txtTel +"&inputCode=" + $("#txtCode").val(),
               url: "/account/AjaxAuthorizeUser",
               data: JSON.stringify(postdata),
               dataType: "json",
               processData: false,
               contentType: "application/json; charset=utf-8",
               success: function (data) {
                   errorCode.getMsg(data, function () {
                       if (data.success) {
                           // document.location.href = "/admin/base";
                           alert("登陆成功!");
                       } else {
                           // $("#msgtip").html("验证码错误").css("color", "red");
                           $("#txtCode").val("");
                           $("#txtCode").select();
                           alert("验证码错误!");
                       }
                   }, function (e) {
                       $("#msgtip").html(e.msg + (data.msg == '' ? '(' + data.msg + ')' : '')).css("color", "red");
                   });
               }
           });
       }

</script>




<body>
     <form id="form1" runat="server">
            <div>
                <h2>登录</h2>
                <h4>手机号:</h4>
                <input id="txtTel" type="text" value="" /><input type="button" id="btnGetNo" onclick="GetNo()" value="获取验证码" />
                <h4>验证码:</h4>
                <input id="txtCode" type="text" value="" /><input type="button" id="btnSubmit" onclick="loginSubmit()" value="提交" />               
        </div>
          <span><i></i><b id="endtime">aaa</b></span>
    </form>
    <input id="txtNum" type="hidden" value="@ViewBag.txtNum" />
    <input id="tel" type="hidden" value="@ViewBag.txtTel"/>
</body>







  public ActionResult AjaxAuthorizeUser(string tel, string num, string innum)
        {
            var telephone = tel ?? "";
            var numbers = num ?? "";
            var innumbers = innum ?? "";
            ViewBag.txtNum = numbers;
            ViewBag.txtTel = telephone;

            var success = false;

            if (tel != "" && numbers != "" && innumbers != "")
            {
                if (innumbers == numbers)
                {
                    var datenow = DateTime.Now;
                    var datexpires = datenow.AddDays(1);

                    //查看是否有该用户
                    var user = UserDal.F_User_GetMemberInforByTel(tel);
                    //某有则去创建
                    if (user == null)
                    {
                        int isCreate = UserDal.F_User_CreateClient_ByTel(tel);
                        user = UserDal.F_User_GetMemberInforByTel(tel);
                    }
                    //获取相关用户信息,保存至cookie中
                    var ticket = new FormsAuthenticationTicket(
                        1,
                        user.Id.ToString(CultureInfo.InvariantCulture) + ":" + user.ClientName,
                        datenow,
                        datexpires,
                        true,
                        user.RoleName.ToString(CultureInfo.InvariantCulture)
                        );
                    var cookie = new HttpCookie(AdminAuthorizeAttribute.FormsCookieName, FormsAuthentication.Encrypt(ticket))
                    {
                        Expires = datexpires
                    };
                    Response.Cookies.Add(cookie);


                    success = true;
                }
            }
            return Content(JsonConvert.SerializeObject(new
            {
                return_code = 0,
                success
            }));
        }


0 0
原创粉丝点击