PHP实现身份证验证
2013-06-10 10:59
260 查看
一般安全要求较高的网站,用户需要输入姓名和身份证号进行实名认证。对于大多数网站来说,很难从公安部门获得身份证接口,不能保证用户输入的姓名与身份证号码唯一配对。
下面粘贴一段PHP代码,混个脸熟。
注意:这段代码验证身份证是否合法,即通过身份证的最后一位数校验身份证号码是否存在。不能证明姓名与身份证是唯一配对。
cal.class.php
IdentifyCard.php
cal.class.php负责逻辑处理,IdentifyCard.php负责显示。
新手帖,混脸熟。
下面粘贴一段PHP代码,混个脸熟。
注意:这段代码验证身份证是否合法,即通过身份证的最后一位数校验身份证号码是否存在。不能证明姓名与身份证是唯一配对。
cal.class.php
<?php /** **@param string $numCard 身份证号码 **@param string $arr 将身份证的每位数以数组的形式存放在$arr **@param string $avg 经过校验算法后的余数 **@param string $duiying 中间变量 **Date 2013-6-9 **/ class Identify { private $numCard; private $arr = array(); function __construct() { //初始化 $this->numCard = $_POST[IdentifyCard]; $this->arr=$arr; } function __toString() { for($i=0;$i<=16;$i++) { $this->arr[$i] = substr($this->numCard,$i,1); //依次获取身份证号码前17位 $this->mod = (pow(2,17-$i) % 11) * $this->arr[$i]; //校验位算法,可参考http://baike.baidu.cn/view/5112521.htm $this->count = $this->count + $this->mod; //累加 } $avg=$this->count%11; //求余,$avg取值在[0,10] switch ($avg) { case 0: $duiying=1; break; case 1: $duiying=0; break; case 2: $duiying=X; break; case 3: $duiying=9; break; case 4: $duiying=8; break; case 5: $duiying=7; break; case 6: $duiying=6; break; case 7: $duiying=5; break; case 8: $duiying=4; break; case 9: $duiying=3; break; case 10: $duiying=2; break; } //获取身份证最后一位数 $last_num = substr($this->numCard,17,1); //判断用户输入的身份证最后一位数与前17位数转换得到校验位是否相等 if($duiying==$last_num) { $alert= "<script>alert('此身份证有效合法!');</script>"; } else { $alert= "<script>alert('此身份证不合法');</script>"; } return $alert; }//End toString }//End class ?>
IdentifyCard.php
<html> <head> <title>检验身份证</title> </head> <body> <form method="POST"> <input type="text" name="IdentifyCard" id="IdentifyCard" size="18" value="<?php echo $_POST['IdentifyCard'];?>" maxlength="18" required placeholder="请输入您的身份证!" /><br /> <input type="submit" id="Submit" name="Submit" value="检验" /> <?php include "cal.class.php"; echo new Identify(); ?> </form> </body> </html>
cal.class.php负责逻辑处理,IdentifyCard.php负责显示。
新手帖,混脸熟。
相关文章推荐
- PHP实现可精确验证身份证号码的工具类示例
- PHP实现中国公民身份证号码有效性验证示例代码
- php通过会话控制实现身份验证实例
- php+jquery+ajax实现用户名验证
- PHP代码实现表单数据验证类
- C#实现的18位身份证格式验证算法
- js实现完美身份证号有效性验证
- JS实现的表单验证和强大的身份证
- PHP中使用crypt()实现用户身份验证的代码
- php通过会话控制实现身份验证
- C#实现的18位身份证格式验证算法[转载]
- js实现身份证号码验证
- C#实现身份证号码验证的方法
- C#实现的18位身份证格式验证算法
- PHP实现防止表单重复提交功能【基于token验证】
- PHP+Ajax异步通讯实现用户名邮箱验证是否已注册( 2种方法实现)
- js实现完美身份证号有效性验证
- java实现的18位身份证格式验证算法-Java基础-Java-编程开发
- js实现完美身份证号有效性验证--身份证算法
- PHP通过session id 实现session共享和登录验证的代码