PHP关于验证
2015-04-30 16:33
162 查看
验证身份证号码
其他
/** * 验证身份证号 * @param $vStr * @return bool */ private function _isCreditNo($vStr) { $vCity = array( '11','12','13','14','15','21','22', '23','31','32','33','34','35','36', '37','41','42','43','44','45','46', '50','51','52','53','54','61','62', '63','64','65','71','81','82','91' ); if (!preg_match('/^([\d]{17}[xX\d]|[\d]{15})$/', $vStr)) return false; if (!in_array(substr($vStr, 0, 2), $vCity)) return false; $vStr = preg_replace('/[xX]$/i', 'a', $vStr); $vLength = strlen($vStr); if ($vLength == 18) { $vBirthday = substr($vStr, 6, 4) . '-' . substr($vStr, 10, 2) . '-' . substr($vStr, 12, 2); } else { $vBirthday = '19' . substr($vStr, 6, 2) . '-' . substr($vStr, 8, 2) . '-' . substr($vStr, 10, 2); } if (date('Y-m-d', strtotime($vBirthday)) != $vBirthday) return false; if ($vLength == 18) { $vSum = 0; for ($i = 17 ; $i >= 0 ; $i--) { $vSubStr = substr($vStr, 17 - $i, 1); $vSum += (pow(2, $i) % 11) * (($vSubStr == 'a') ? 10 : intval($vSubStr , 11)); } if($vSum % 11 != 1) return false; } return true; }
其他
相关文章推荐
- 关于PHP中出现乱码和Sessions验证问题的解决方法!
- 关于PHP session登录验证的一个安全问题
- 关于wechat-php-sdk token验证失败的解决
- 关于php微信订阅号开发之token验证后自动发送消息给订阅号但是没有消息返回的问题
- 关于PHP中出现乱码和Sessions验证问题的解决方法!
- 关于php微信订阅号开发之token验证后自动发送消息给订阅号但是没有消息返回的问题
- php学习(三)关于身份验证、以及require路径问题
- OA项目中关于用户名唯一的验证
- PHP 关于foreach 中修改array中元素的值
- 关于apache以fastcgi模式运行php的错误理解纠正
- shiro框架---关于用户登录和权限验证功能的实现步骤(七)
- PHP 邮箱验证类 -- 正则匹配并域名验证
- 关于php/js抓取/采集
- 回应拐拐龙底咚兄弟关于ROR,PHP,Web应用开发
- PHP 程序授权验证开发思路
- 关于Https安全性问题、双向验证防止中间人攻击问题
- 关于php执行shell脚本
- php学习之路五(表单验证)
- 关于JSON以及JSON在PHP中的应用技巧
- PHP实现GIF图片验证码