近期需要做一個(gè)新項(xiàng)目,我做得模塊需要用到手機(jī)短信驗(yàn)證碼的功能暑塑,實(shí)現(xiàn)登錄吼句,付款等功能,其中最主要的是用到了互億無線(www.ihuyi.com)的短信平臺(tái)接口WebService客戶端接口事格,一開始摸索不到門路惕艳,后來跟平臺(tái)那邊的技術(shù)對(duì)接之后接入還是比較方便的,最關(guān)鍵是一開始還有很多免費(fèi)的驹愚,接下來我就把源碼貼出來分享給大家远搪,大家可以參考一下,方便以后接入~
var InterValObj; //timer變量逢捺,控制時(shí)間
var count = 120; //間隔函數(shù)谁鳍,1秒執(zhí)行
var curCount;//當(dāng)前剩余秒數(shù)
var code = ""; //驗(yàn)證碼
var codeLength = 6;//驗(yàn)證碼長度
function sendMessage() {
curCount = count;
var jbPhone = $("#jbPhone").val();
var jbPhoneTip = $("#jbPhoneTip").text();
if (jbPhone != "") {
if(jbPhoneTip == "√ 該手機(jī)號(hào)碼可以注冊(cè),輸入正確" || jbPhoneTip == "√ 短信驗(yàn)證碼已發(fā)到您的手機(jī),請(qǐng)查收"){
// 產(chǎn)生驗(yàn)證碼
for ( var i = 0; i < codeLength; i++) {
code += parseInt(Math.random() * 9).toString();
}
// 設(shè)置button效果劫瞳,開始計(jì)時(shí)
$("#btnSendCode").attr("disabled", "true");
$("#btnSendCode").val("請(qǐng)?jiān)? + curCount + "秒內(nèi)輸入驗(yàn)證碼");
InterValObj = window.setInterval(SetRemainTime, 1000); // 啟動(dòng)計(jì)時(shí)器倘潜,1秒執(zhí)行一次
// 向后臺(tái)發(fā)送處理數(shù)據(jù)
$.ajax({
type: "POST", // 用POST方式傳輸
dataType: "text", // 數(shù)據(jù)格式:JSON
url: "UserAction_sms.action", // 目標(biāo)地址
data: "jbPhone=" + jbPhone +"&code=" + code,
error: function (XMLHttpRequest, textStatus, errorThrown) {
},
success: function (data){
data = parseInt(data, 10);
if(data == 1){
$("#jbPhoneTip").html("<font color='#339933'>√ 短信驗(yàn)證碼已發(fā)到您的手機(jī),請(qǐng)查收</font>");
}else if(data == 0){
$("#jbPhoneTip").html("<font color='red'>× 短信驗(yàn)證碼發(fā)送失敗,請(qǐng)重新發(fā)送</font>");
}else if(data == 2){
$("#jbPhoneTip").html("<font color='red'>× 該手機(jī)號(hào)碼今天發(fā)送驗(yàn)證碼過多</font>");
}
}
});
}
}else{
$("#jbPhoneTip").html("<font color='red'>× 手機(jī)號(hào)碼不能為空</font>");
}
}
//timer處理函數(shù)
function SetRemainTime() {
if (curCount == 0) {? ? ? ? ? ? ? ?
window.clearInterval(InterValObj);// 停止計(jì)時(shí)器
$("#btnSendCode").removeAttr("disabled");// 啟用按鈕
$("#btnSendCode").val("重新發(fā)送驗(yàn)證碼");
code = ""; // 清除驗(yàn)證碼留美。如果不清除幔摸,過時(shí)間后县钥,輸入收到的驗(yàn)證碼依然有效
}else {
curCount--;
$("#btnSendCode").val("請(qǐng)?jiān)? + curCount + "秒內(nèi)輸入驗(yàn)證碼");
}
}
$(document).ready(function() {
$("#SmsCheckCode").blur(function() {
var SmsCheckCodeVal = $("#SmsCheckCode").val();
// 向后臺(tái)發(fā)送處理數(shù)據(jù)
$.ajax({
url : "UserAction_checkCode.action",
data : {SmsCheckCode : SmsCheckCodeVal},
type : "POST",
dataType : "text",
success : function(data) {
data = parseInt(data, 10);
if (data == 1) {
$("#SmsCheckCodeTip").html("<font color='#339933'>√ 短信驗(yàn)證碼正確,請(qǐng)繼續(xù)</font>");
} else {
$("#SmsCheckCodeTip").html("<font color='red'>× 短信驗(yàn)證碼有誤养泡,請(qǐng)核實(shí)后重新填寫</font>");
}
}
});
});
});