身份证实名验证

实现:

用户在注册时,填写的真实姓名要跟身份证号能够匹配的上,才可以进行下一步操作,如果匹配不上,就弹出提示性信息,【代码部分可复制,后期会将所有功能都集合在一个框架中,方便大家就地取材使用】

171056_7PmZ_2902340.png

具体代码部分:

172234_U0Mi_2902340.png172308_LGpY_2902340.png172324_8oWI_2902340.png

可复制部分

/********************************************************************************************/    
html部分
    <div>
   <p>真实姓名: <input id="u_name" type="text" name="name" οnkeyup="this.value=this.value.replace(/\s+/g,'')"/></p>
    <p>身份证号: <input id="idcard" type="text" value="" name="idcard" οnkeyup="this.value=this.value.replace(/\s+/g,'')" /></p>
    </div>


/******************************************************************************************/
js部分
    <script type="text/javascript">
        $("#idcard").blur(function(){
            var url = "{{:U('User/check_idcard')}}";
            var data = {name:$("#u_name").val(),idcard:$("#idcard").val()};
            if($("#idcard").val() == ""){
                layer.msg('请填写有效的身份证号',{icon:2});
                return;
            }
            $.post(url,data,function(res){
                if(res.resp.code == 0){
                    //匹配
                    // layer.msg('您的身份信息匹配',{icon:1})
                }else if(res.resp.code == 5){
                    //不匹配
                    layer.msg('您的身份信息不匹配,请重新填写真实姓名或身份证号',{icon:2});
                    $("#idcard").val('');
                }else if(res.resp.code == 14){
                    //无此身份证号码
                    layer.msg('您的身份信息有误,请重新填写身份证号',{icon:2});
                    $("#idcard").val('');
                }else if(res.resp.code == 96){
                    //交易失败
                    layer.msg('交易失败',{icon:2});
                    $("#idcard").val('');
                }
            },"json");
        })
    </script>


/*******************************************************************************************/
php部分
    <?php
        //身份证实名验证
        public function check_idcard(){
            $host = "http://idcard.market.alicloudapi.com";
            $path = "/lianzhuo/idcard";
            $method = "GET";
            $appcode = "159a2d3d9a1644f2b75c104bb0ce1088";  //这个是注册的时候返回的appcode值,其他的注册的信息没有在代码中用到,只有appcode在此处用到
            $headers = array();
            array_push($headers, "Authorization:APPCODE " . $appcode);
            $querys = "cardno=".I('idcard')."&name=".I('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);
            }
            $ch = curl_exec($curl);
            //此处的目的是将head头部响应信息去除掉,仅保留有用的返回的数据,方便前台js部分处理值
            if (curl_getinfo($curl, CURLINFO_HTTP_CODE) == '200') {
                list($header, $body) = explode("\r\n\r\n", $ch);
            }
            $res = json_decode($body,true);
            $this->ajaxReturn($res);
        }
    ?>

 

 

转载于:https://my.oschina.net/mikelp/blog/1335143

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值