【第十八篇】手机验证码

废话不多说,直接上代码。

                <div class="form-group has-feedback">
                    <div class="input-group">
                        <input type="text" class="form-control input-large" name="phone" id="phone" placeholder="请输入您的手机号">
                        <span class="input-group-btn">
                            <button class="btn btn-info" style="" type="button" onclick="sendMessage()">发送验证码</button>
                        </span>
                    </div>
                </div>
                <div class="form-group has-feedback">
                    <div class="input-append">
                        <input type="text" class="form-control span2" placeholder="验证码" name="code" onfocus="checkPhone()" />
                        <span class="add-on" id="msg"></span>
                    </div>
                </div>
        var InterValObj; //timer变量,控制时间
        var count = 60; //间隔函数,1秒执行
        var curCount;//当前剩余秒数
        var code = ""; //验证码
        var codeLength = 6;//验证码长度
        function sendMessage() {
            if (checkInput()) {
                curCount = count;
                for (var i = 0; i < codeLength; i++) {
                    code += parseInt(Math.random() * 9).toString();
                }
                //设置button效果,开始计时
                $("#btnSendCode").attr("disabled", "true");
                $("#btnSendCode").val("请在" + curCount + "秒内输入验证码");
                InterValObj = window.setInterval(SetRemainTime, 1000); //启动计时器,1秒执行一次
                //向后台发送处理数据
                var postData = {
                    Code: code,
                    Phone: $("#phone").val()
                }
                $.ajax({
                    type: "POST", //用POST方式传输
                    dataType: "text", //数据格式:JSON
                    url: '/Account/Yanzheng', //目标地址
                    data: postData,
                    error: function (XMLHttpRequest, textStatus, errorThrown) { },
                    success: function (msg) {
                        if (msg == "0") {
                            layer.msg("验证码发送成功!");
                        } else if (msg == "-1") {
                            layer.msg("验证码发送失败!");
                            window.clearInterval(InterValObj);//停止计时器
                            $("#btnSendCode").removeAttr("disabled");//启用按钮
                            $("#btnSendCode").val("重新发送验证码");
                            code = ""; //清除验证码。如果不清除,过时间后,输入收到的验证码依然有效
                        }
                    }
                });
            }
        }

        //timer处理函数
        function SetRemainTime() {
            if (curCount == 0) {
                window.clearInterval(InterValObj);//停止计时器
                $("#btnSendCode").removeAttr("disabled");//启用按钮
                $("#btnSendCode").val("重新发送验证码");
                code = ""; //清除验证码。如果不清除,过时间后,输入收到的验证码依然有效    
            } else {
                curCount--;
                $("#btnSendCode").val("请在" + curCount + "秒内输入验证码");
            }
        }
        public ActionResult Yanzheng()
        {
            string Phone = Request["Phone"];
            string Code = Request["Code"];
            StringBuilder sms = new StringBuilder();
            sms.AppendFormat("name={0}", ""); //用户帐号
            sms.AppendFormat("&pwd={0}", "");//登陆平台,管理中心--基本资料--接口密码(28位密文);复制使用即可。
            sms.AppendFormat("&content={0}", "您好,感谢您登录,您获得的验证码是:" + Code);//发送内容
            sms.AppendFormat("&mobile={0}", Phone);//手机号码(多个用,隔开)
            sms.AppendFormat("&sign={0}", "");// 公司的简称或产品的简称都可以(用户签名:可以省略)
            sms.Append("&type=pt");
            string resp = pc.PushToWeb("http://.com/asmx/smsservice.aspx", sms.ToString(), Encoding.UTF8);
            string[] msg = resp.Split(',');
            if (msg[0] == "0")
            {
                Session["PhoneCode"] = Code;
                //return Content("提交成功:SendID=" + msg[1]);
                return Content("0");
            }
            else
            {
                //return Content( "提交失败:错误信息=" + msg[1]);
                return Content("-1");
            }
        }

 

 

 

--------------------------------------------------------------------------------------------------------- 

转载请记得说明作者和出处哦-.-
作者:KingDuDu
原文出处:https://www.cnblogs.com/kingdudu/articles/4946878.html

---------------------------------------------------------------------------------------------------------

posted @ 2015-11-08 09:36  KingDuDu  阅读(1083)  评论(0编辑  收藏  举报