- 注册时间
- 2007-7-22
- 最后登录
- 2012-4-17
- 在线时间
- 498 小时
- 阅读权限
- 200
- 积分
- 2344
- 帖子
- 258
- 精华
- 1
- UID
- 1
  

|
发表于 2007-11-2 23:50:47
|显示全部楼层
- <?php
- /**
- *身份证15位转18位
- *$str 15位号码
- */
- function id_card_15to18($str){
- if (!preg_match("/^[1-9]d{14}$/", $str)) return false;
- $str = substr($str, 0, 6) . '19' . substr($str, 6);
- $wi = array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
- $ai = array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');
- for ($i = 0;$i < 17;$i++) $sigma += ((int) $str{$i}) * $wi[$i];
- return $str.$ai[($sigma % 11)];
- }
- /**
- *身份证校验函数
- *$str 15位或18位号码
- */
- function is_id_card($str){
- if (preg_match("/^[1-9]d{14}(d{2}[0-9X])?$/", $str)) {
- if (strlen($str) == 18) {
- $s = substr($str, 0, 17);
- $wi = array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
- $ai = array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');
- for ($i = 0;$i < 17;$i++) $sigma += ((int) $s{$i}) * $wi[$i];
- if ($ai[($sigma % 11)] == $str{17}) return true;
- else return false;
- }
- return true;
- }
- return false;
- }
- ?>
复制代码 |
|