標籤:
廢話不多說,直接上代碼。
<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
原文出處:http://www.cnblogs.com/kingdudu/p/4946878.html
---------------------------------------------------------------------------------------------------------
【第十八篇】手機驗證碼