身份證相關操作

2021-10-03 06:08:38 字數 4362 閱讀 7417

<?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位數字表示性別 奇數表示男性,偶數...