身份证及姓名认证功能??

庄子 2014-06-27 10:54:20
客户让在网站上加上身份证及姓名认证功能
即 输入身份证号码及姓名, 能够返回一正确还是错误的信息?

不知道哪里有提供这样的接口查询功能, 请帮忙,谢谢!
...全文
395 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
风火程序员 2014-06-30
  • 打赏
  • 举报
回复
百度谷歌搜搜、这样的接口
断点Bingo 2014-06-28
  • 打赏
  • 举报
回复
找银行 或者 公安局去调接口。
傲雪星枫 2014-06-28
  • 打赏
  • 举报
回复
身份证号可以通过规则检查真伪,姓名因为涉及私隐,只有公安机关等特定部门才能查询。公民身份信息不属于信息公开内容,在外网上查不到.除非你进入公安系统,才能查到。 身份证号规则 1、号码的结构 公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。 2、地址码(前六位数) 表示编码对象常住户口所在县(市、旗、区)的行政区划代码,按GB/T2260的规定执行。 3、出生日期码(第七位至十四位) 表示编码对象出生的年、月、日,按GB/T7408的规定执行,年、月、日代码之间不用分隔符。 4、顺序码(第十五位至十七位) 表示在同一地址码所标识的区域范围内,对同年、同月、同日出生的人编定的顺序号,顺序码的奇数分配给男性,偶数分配给女性。 5、校验码(第十八位数) (1)十七位数字本体码加权求和公式 S = Sum(Ai * Wi), i = 0, ... , 16 ,先对前17位数字的权求和 Ai:表示第i位置上的身份证号码数字值 Wi:表示第i位置上的加权因子 Wi: 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2 (2)计算模 Y = mod(S, 11) (3)通过模得到对应的校验码 Y: 0 1 2 3 4 5 6 7 8 9 10 校验码: 1 0 X 9 8 7 6 5 4 3 2 所以可以写一个函数来校验是否正确了。

<?php
function validation_filter_id_card($id_card){ 
    if(strlen($id_card) == 18){ 
        return idcard_checksum18($id_card); 
    }elseif((strlen($id_card) == 15)){ 
        $id_card = idcard_15to18($id_card); 
        return idcard_checksum18($id_card); 
    }else{ 
        return false; 
    } 
} 

// 计算身份证校验码,根据国家标准GB 11643-1999 
function idcard_verify_number($idcard_base){ 
    if(strlen($idcard_base) != 17){ 
        return false; 
    } 
    //加权因子 
    $factor = array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2); 
    //校验码对应值 
    $verify_number_list = array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'); 
    $checksum = 0; 
    for ($i = 0; $i < strlen($idcard_base); $i++){ 
        $checksum += substr($idcard_base, $i, 1) * $factor[$i]; 
    } 
    $mod = $checksum % 11; 
    $verify_number = $verify_number_list[$mod]; 
    return $verify_number; 
} 

// 将15位身份证升级到18位 
function idcard_15to18($idcard){ 
    if (strlen($idcard) != 15){ 
        return false; 
    }else{ 
        // 如果身份证顺序码是996 997 998 999,这些是为百岁以上老人的特殊编码 
        if (array_search(substr($idcard, 12, 3), array('996', '997', '998', '999')) !== false){ 
            $idcard = substr($idcard, 0, 6) . '18'. substr($idcard, 6, 9); 
        }else{ 
            $idcard = substr($idcard, 0, 6) . '19'. substr($idcard, 6, 9); 
        } 
    } 
    $idcard = $idcard . idcard_verify_number($idcard); 
    return $idcard; 
} 

// 18位身份证校验码有效性检查 
function idcard_checksum18($idcard){ 
    if (strlen($idcard) != 18){ return false; } 
    $idcard_base = substr($idcard, 0, 17); 
    if (idcard_verify_number($idcard_base) != strtoupper(substr($idcard, 17, 1))){ 
        return false; 
    }else{ 
        return true; 
    } 
} 

$idcard = '这里填写要验证的身份证号码';
var_dump(validation_filter_id_card($idcard));
?>
最全的电商功能清单, 产品经理系统架构师必备。 主模块 模块功能功能模块 详细功能功能描述 订单中心 我的订单 全部有效订单 有效订单列表 显示全部有效订单列表 待支付 待支付订单列表 显示待支付的订单列表 待收货 待收货订单列表 显示待收货的订单列表 已关闭 已关闭订单列表 显示已关闭的订单列表 商品评价 待评价商品 待评价订单列表 显示待评价的订单列表 已评价商品 已评价订单列表 显示已评价的订单列表 评价失效商品 评价失效订单列表 显示评价失效的商品订单列表 关注中心 商品收藏 随便逛逛 取消收藏图标 可以查看收藏的商品 放大镜图标 可以电放大镜查看图 加入购物车 可以加入购物车 店铺收藏 先收藏店铺 取消收藏图标 可以查看收藏的店铺 我的足迹 浏览过的商品 取消收藏图标 可以点击取消收藏图标按钮 放大镜图标 可以点击放大镜图标查看图片 加入购物车 可以加入购物车 个人中心 个人信息 账户基本信息 (修改个人信息) 账户 显示账号 昵称 显示昵称 级别 可以查看我当前级别 头像照片 可以上传头像照片 性别 可选择性别 生日 可填写生日 签名 可输入签名档 消息 可查看平台的站内信消息 写短信 可编辑短消息发给指定用户 待支付的订单 查看待支付订单 显示待支付的订单总数 待收货的订单 查看待收货订单 显示待收货的订单总数 待评价的商品数 查看待评价的商品数 显示待评价的商品总数 喜欢的商品 查看喜欢的商品 显示喜欢的商品总数 账户安全 实名认证 姓名 填写真实姓名 身份证号码 上传身份证身份证照片 上传身份证照片 账户密码 原密码 填写最初账号密码 新密码 填写新密码

20,359

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧