700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > tp5绑定银行卡 注册 图片验证码 短信验证

tp5绑定银行卡 注册 图片验证码 短信验证

时间:2020-12-18 10:17:59

相关推荐

tp5绑定银行卡 注册 图片验证码 短信验证

绑定银行卡我们需要先去阿里云进行注册:注册流程如下

点击立即购买首次会获得五次免费试用的计会

实现代码如下:

<!doctype html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport"content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title><script src="/libs/jquery/2.1.4/jquery.min.js"></script></head><body><div class="qupiao"><h1>验证个人信息</h1><form class="layui-form" action="{:url('sign')}"><div class="form-group"><label class="qupiao-ipt-1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;姓名:</label><input id="name" type="text" name="name"><span class="checkExistRong" id="checkExistname"></span></div><div class="form-group"><label class="qupiao-ipt-2">身份证号码:</label><input id="identity" type="text" name="idcard" maxlength="18"><span class="checkExistRong" id="checkExistID"></span></div><div class="form-group"><label class="qupiao-ipt-3">手机号号码:</label><input id="telephone" type="tel" name="phone" min="11"><span class="checkExistRong" id="checkExistPhone"></span></div><div><input type="text" name="getcode" placeholder="请输入验证码"><input type="button" id="getcode" value="免费获取验证码" onclick="settime(this)" /></div><div><label>验证码:</label> <input type="text" class="textBox" placeholder="看不清 请点击图片更换"name="code" id="yzm" placeholder="验证码" /><img src="{:captcha_src()}" alt="" class="passcode" style="height:43px;cursor:pointer;width: 130px;height: 40px;margin-left: 75px;" onclick="this.src=this.src+'?'"></div><div><label class="qupiao-ipt-4">银行卡:</label><input type="text" id="t_bankno" name="bank"/><input type="button" id="btnCheck" value="check" onclick="CheckBankNo($('#t_bankno'));" /><span id="banknoInfo"></span></div>银行卡类型<div><input type="text" name="type"></div>可用金额<div><input type="text" name="money"></div><button type="submit">提交</button></form></div></body></html><script>/*姓名身份证,手机号提交*/function isChinaName(name) {var pattern = /^[\u4E00-\u9FA5]{1,6}$/;return pattern.test(name);}// 验证身份证function isCardNo(card) {var pattern = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;return pattern.test(card);}// 验证手机号function isPhoneNo(phone) {var pattern = /^1[34578]\d{9}$/;return pattern.test(phone);}/*用户名判断*/function userName(inputid, spanid) {$(inputid).blur(function() {if ($.trim($(inputid).val()).length == 0) {$(spanid).html("× 名称没有输入");} else {if (isChinaName($.trim($(inputid).val())) == false) {$(spanid).html("× 名称不合法");}}});$(inputid).focus(function() {$(spanid).html("");});};userName('#name', "#checkExistname");/*身份证判断*/function userID(inputid, spanid) {$(inputid).blur(function() {if ($.trim($(inputid).val()).length == 0) {$(spanid).html("× 身份证号码没有输入");} else {if (isCardNo($.trim($(inputid).val())) == false) {$(spanid).html("× 身份证号不正确");}}});$(inputid).focus(function() {$(spanid).html("");});};userID('#identity', "#checkExistID");/*手机号判断*/function userTel(inputid, spanid) {$(inputid).blur(function() {if ($.trim($(inputid).val()).length == 0) {$(spanid).html("× 手机号没有输入");} else {if (isPhoneNo($.trim($(inputid).val())) == false) {$(spanid).html("× 手机号码不正确");}}$(inputid).focus(function() {$(spanid).html("");});});};userTel('#telephone', "#checkExistPhone");//验证银行卡function CheckBankNo(t_bankno) {var bankno = $.trim(t_bankno.val());if(bankno == "") {$("#banknoInfo").html("请填写银行卡号");return false;}if(bankno.length < 16 || bankno.length > 19) {$("#banknoInfo").html("银行卡号长度必须在16到19之间");return false;}var num = /^\d*$/; //全数字if(!num.exec(bankno)) {$("#banknoInfo").html("银行卡号必须全为数字");return false;}//开头6位var strBin = "10,18,30,35,37,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,58,60,62,65,68,69,84,87,88,94,95,98,99";if(strBin.indexOf(bankno.substring(0, 2)) == -1) {$("#banknoInfo").html("银行卡号开头6位不符合规范");return false;}//Luhm校验(新)if(!luhmCheck(bankno))return false;$("#banknoInfo").html("验证通过!");return true;}//倒计时var countdown=60;function settime(val) {if (countdown == 0) {val.removeAttribute("disabled");val.value="免费获取验证码";countdown = 60;} else {val.setAttribute("disabled", true);val.value="重新发送(" + countdown + ")";countdown--;}setTimeout(function() {settime(val)},1000)}//点击调用接口获取手机验证码$('#getcode').click(function () {var phone=$("#telephone").val();//console.log(phone)$.get('getCode',{phone:phone},function (res) {if (res.code==200){alert('短信发送成功');}if (res.code==500){alert(res.msg);return false;}})})</script>

调用手机号第三方接口

//获取手机验证码public function getCode(Request $request){//当用户点击手机号时先去缓存中查询,当前时间-缓存时间如果大于60s,允许用户继续获取验证码,否则给出提示//获取手机号$phone=$request->param('phone');//设置当前时间戳$time=time();if (Session::has($phone)){if ($time - Session::get($phone) > 60){$content="【创信】你的验证码是:5873,3分钟有效!";$res=$this->sendmsg($phone,$content);if ($res){//每次发送验证码成功之后都将当前时间存入缓存,方便下次发送验证码时的时间间隔的判断Session::set($phone,time());//将发送成功的手机验证码存入session,当用户进行提交信息入库的时候进最终的验证码验证Session::set('code',5873);return json(['code'=>200,'msg'=>'发送成功']);}else{return json(['code'=>201,'msg'=>'发送失败']);}}else{return json(['code'=>500,'msg'=>'一分钟后点击发送']);}}else{$content="【创信】你的验证码是:5873,3分钟有效!";$res=$this->sendmsg($phone,$content);if ($res){//发送验证码成功后将当前时间存入缓存,以便下次再次点击的时候进行时间的判断Session::set($phone,time());return json(['code'=>200,'msg'=>'发送成功']);}else{return json(['code'=>201,'msg'=>'发送失败']);}}}//使用curl函数库发送请求public function curl_request($url, $post = true, $params = [], $https = true){//初始化请求$ch = curl_init($url);//默认是get请求。如果是post请求 设置请求方式和请求参数if ($post) {curl_setopt($ch, CURLOPT_POST, true);curl_setopt($ch, CURLOPT_POSTFIELDS, $params);}//如果是https协议,禁止从服务器验证本地证书if ($https) {curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);}//发送请求,获取返回结果curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);$res = curl_exec($ch);//关闭请求curl_close($ch);return $res;}//使用curl_request函数调用短信接口发送短信public function sendmsg($phone, $content){// 请求地址、appkey$gateway = '/chuangxin/dxjk';$appkey = '56094ca4632daa86455f007d61e3b113';// /chuangxin/dxjk?mobile=*********&content=【创信】你的验证码是:5873,3分钟内有效!&appkey=您申请的APPKEY$url = $gateway . '?appkey=' . $appkey . "&content=" . $content . "&mobile=" . $phone ;$res = $this->curl_request($url, false, [], true);//处理结果if (!$res) {return '请求发送失败';}//解析结果$arr = json_decode($res, true);if (isset($arr['code']) && $arr['code'] == 10000) {//短信接口调用成功return true;} else {/*if(isset($arr['msg'])){return $arr['msg'];}*/return '短信发送失败';}}

银行卡注册

//银行卡注册【添加】public function sign(Request $request){//接收银行卡号、身份证号、手机号、姓名$bank=$request->param('bank');$idcard=$request->param('idcard');$phone=$request->param('phone');//进行银行卡注册的时候真实姓名name需要进行urlencode加密$name=urlencode($request->param('name'));$host = "";$path = "/bankcard4/check/high";$method = "GET";$appcode = "feb44067526849b394a06ca13f9c2ca0";$headers = array();array_push($headers, "Authorization:APPCODE " . $appcode);$querys = "bankcard=$bank&idcard=$idcard&mobile=$phone&name=$name";$bodys = "";$url = $host . $path . "?" . $querys;$curl = curl_init();curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method);curl_setopt($curl, CURLOPT_URL, $url);curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);curl_setopt($curl, CURLOPT_FAILONERROR, false);curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);curl_setopt($curl, CURLOPT_HEADER, true);if (1 == strpos("$".$host, "https://")){curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);}//var_dump(curl_exec($curl));//获取所有数据,进行验证$param=$request->param();$validate=$this->validate($param,['name'=>'require','bank'=>'require','idcard'=>'require','type'=>'require','phone'=>'require','money'=>'require','code'=>'require|captcha']);if ($validate !==true){$this->error($validate);}//添加//从缓存中出去验证码进行验证码匹对$phoneCode=Session::get('code');//验证码验证if ($param['getcode'] != $phoneCode){return json(['code'=>501,'data'=>'','msg'=>'验证码有误']);}else{//判断数据表是否有当前手机号$res=\app\day64\model\Bank::where('bank',$param['bank'])->find();if ($res){//将用户当前手机号存入session,便于后期展示当前用户手机号注册过的银行卡列表Session::set('phone',$res['phone']);$this->success('当前银行卡已经注册过了','day64/cash/index');}else{$obj=new \app\day64\model\Bank();$obj->allowField(true)->save($param);//将用户当前手机号存入session,便于后期展示当前用户手机号注册过的银行卡列表Session::set('phone',$obj['phone']);$this->success('注册成功','day64/cash/index');}}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。