當前位置:網站首頁>發送短信驗證碼

發送短信驗證碼

2022-01-26 22:52:29 陳卿諾語

1.場景:通常在使用手機號注册時需要發送短信驗證碼,在修改密碼等敏感操作時也需要驗證手機號發送短信驗證碼。

短信驗證碼的目的:驗證用戶的身份是否本人

在項目代碼中發送短信,通常要調用第三方短信商的短信發送接口。

提供短信接口的平臺:百度Apistore數據平臺、聚合數據平臺、京東萬象、短信寶等等

一般情况下,短信接口需要企業認證用戶才能申請、一般都是收費的。

以短信寶為例:個人可以購買使用

javascript:

	//驗證手機號
	$('#dyMobileButton').click(function(){
		var mobile = $('#phone').val();
		var preg = /^1[3589]\d{9}$/;
		if (mobile == '' || !preg.test(mobile)){
			$('.error:eq(0)').html('手機格式不正確');
		}else{
			$('.error:eq(0)').empty();
		}
		//倒計時
		var that = $(this);
		that.attr('disabled',true);//點擊過後不能再次點擊
		//60s之後才能再次發送
		var second = 60;
		var timer = setInterval(function () {
			second --
			if (second > 0){
				that.text(second + 's後再次發送')
			}else{
				that.text('發送驗證碼')
				that.attr('disabled',false);//打開點擊功能
				clearInterval(timer);//清空定時器
			}
		},1000);
		 //發送驗證碼
		 $.ajax({
		 	url:'sendCode',
		 	dataType:'json',
		 	data:{mobile:mobile},
			success:function (res) {
		 		alert(res.msg);
		 		return ;
		 	}
		 })
	});

 控制器:

//驗證碼
    public function sendCode($mobile){
        $return = [
            'code' => 200,
            'msg' => 'ok',
            'data' => []
        ];
        $data = SendCode::sendCode($mobile);
        $return['data'] = $data;
        return json($return);
    }

 封裝業務層:

開發文檔接口說明_馬上使用更好的短信服務-短信寶官網

 

 //驗證碼
    public static function sendCode($mobile){
        $statusStr = array(
            "0" => "短信發送成功",
            "-1" => "參數不全",
            "-2" => "服務器空間不支持,請確認支持curl或者fsocket,聯系您的空間商解决或者更換空間!",
            "30" => "密碼錯誤",
            "40" => "賬號不存在",
            "41" => "餘額不足",
            "42" => "帳戶已過期",
            "43" => "IP地址限制",
            "50" => "內容含有敏感詞"
        );
        //生成隨機數
        $code = rand(1000,9999);
        //緩存
        Cache::set("code",$code,300);
        $smsapi = "http://api.smsbao.com/";
        $user = "***"; //短信平臺帳號
        $pass = md5("****"); //短信平臺密碼
        $content="短信內容";//要發送的短信內容
        $phone = "*****";//要發送短信的手機號碼
        $sendurl = $smsapi . "sms?u=" . $user . "&p=" . $pass . "&m=" . $phone . "&c=" . urlencode($content);
        $result = file_get_contents($sendurl);
        return $statusStr[$result];

    }

版權聲明
本文為[陳卿諾語]所創,轉載請帶上原文鏈接,感謝
https://cht.chowdera.com/2022/01/202201262252292597.html

隨機推薦