<?php
class
idcardaction
extends
action
elseif(
($month==2
&&$day
>=19)
||($month==3
&&$day
<=20)
)elseif(
($month==3
&&$day
>20)
||($month==4
&&$day
<=19)
)elseif(
($month==4
&&$day
>=20)
||($month==5
&&$day
<=20)
)elseif(
($month==5
&&$day
>=21)
||($month==6
&&$day
<=21)
)elseif(
($month==6
&&$day
>21)
||($month==7
&&$day
<=22)
)elseif(
($month==7
&&$day
>22)
||($month==8
&&$day
<=22)
)elseif(
($month==8
&&$day
>=23)
||($month==9
&&$day
<=22)
)elseif(
($month==9
&&$day
>=23)
||($month
==10
&&$day
<=23)
)elseif(
($month
==10
&&$day
>23)
||($month
==11
&&$day
<=22)
)elseif(
($month
==11
&&$day
>22)
||($month
==12
&&$day
<=21)
)elseif(
($month
==12
&&$day
>21)
||($month==1
&&$day
<=19)
)return
$strvalue;}
//根據身份證號,自動返回對應的生肖
function
get_shengxiao
($cid)if
($x==0
)if($x
==11
||$x==-
1)if(
$x==
10||
$x==-2
)if($x
==9||$x==-
3)if(
$x==8||
$x==-4
)if($x
==7||$x==-
5)if(
$x==6||
$x==-6
)if($x
==5||$x==-
7)if(
$x==4||
$x==-8
)if($x
==3||$x==-
9)if(
$x==2||
$x==-10
)return
$value;}
//根據身份證號,自動返回性別
function
get_xingbie
($cid
)//判斷是否成年
function
checkbig18
($idcard
)else
}function
getverifybit
($idcard_base
)//加權因子
$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++
)$mod
=$checksum%11
;$verify_number
=$verify_number_list
[$mod];
return
$verify_number;}
function
idcard_verify_number
($idcard_base
)// 加權因子
$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++
)$mod
=$checksum%11
;$verify_number
=$verify_number_list
[$mod];
return
$verify_number;}
//15到18轉換
function
idcard_15to18
($idcard
)else
else
}$idcard
=$idcard
.$this
->
idcard_verify_number
($idcard);
return
$idcard;}
//判斷身份證大是否正確。
function
check_cardid
($cardid
)//判斷身份證大是否正確。
$/";
//$pattern="/^d$/";
$num
=preg_match
($pattern
,$cardid);
}elseif
($cardlen
==18
)[0-9xx]$/"
;$num
=preg_match
($pattern
,$cardid);
}else
return
$num;}
//判斷是否為中文
function
chkgb2312
($str
)else
}// 檢查是否是身份證號
function
isidcard
($number);
//提取相應的加權因子$w=
$wi[$i]
;//把從身份證號碼中提取的一位數字和加權因子相乘,並累加
$sigma+=
$b*$w;
}//計算序號
$snumber
=$sigma%11
;//按照序號從校驗碼串中提取相應的字元。
$check_number
=$ai
[$snumber];
if($number
==$check_number
)else}}
?>
php 根據身份證號相關操作
php根據身份證號,自動獲取對應的星座函式 function get xingzuo cid else if month 2 day 19 month 3 day 20 else if month 3 day 20 month 4 day 19 else if month 4 day 20 mont...
身份證正則
身份證正則,不僅要考慮輸入的符合身份證規則,還需考慮最後一位符合驗證需求。身份證15位編碼規則 dddddd yymmdd xx p dddddd 6位地區編碼 yymmdd 出生年 兩位年 月日,如 910215 xx 順序編碼,系統產生,無法確定 p 性別,奇數為男,偶數為女 身份證18位編碼規...
身份證分組
題目描述 18位身份證的編碼規則是 前1 2位數字表示 所在省 直轄市 自治區 的 第3 4位數字表示 所在地級市 自治州 的 第5 6位數字表示 所在區 縣 自治縣 縣級市 的 第7 14位數字表示 出生年 月 日 第15 16位數字表示 所在地的派出所的 第17位數字表示性別 奇數表示男性,偶數...