php 身份證驗證,根據身份證獲取生日和性別

2021-10-23 18:19:45 字數 1494 閱讀 6317

php 身份證驗證工具類

//身份證驗證

private function checkidcard

($idcard)

// 取出本體碼

$idcard_base =

substr

($idcard,0,

17);// 取出校驗碼

$verify_code =

substr

($idcard,17,

1);// 加權因子

$factor =

array(7

,9,10

,5,8

,4,2

,1,6

,3,7

,9,10

,5,8

,4,2

);// 校驗碼對應值

$verify_code_list =

array

('1'

,'0'

,'x'

,'9'

,'8'

,'7'

,'6'

,'5'

,'4'

,'3'

,'2');

// 根據前17位計算校驗碼

$total =0;

for($i =

0; $i <

17; $i++

)// 取模

$mod = $total %11;

// 比較校驗碼

if($verify_code == $verify_code_list[$mod]

)else

}

提取身份證獲取生日,性別

$card_number =

110101199003073976

;//提取身份證

$cardnumber =

strlen

($card_number)

==15?(

'19'

.substr

($card_number 6,6

)):substr

($card_number,6,

8);//獲取生日

$birthday =

substr

($cardnumber ,0,

4).'-'

.substr

($cardnumber ,4,

2).'-'

.substr

($cardnumber ,6,

2);//提取身份證獲取性別

$gender =

(substr

($card_number,

(strlen

($card_number)

==15?-

1:-2

),1)

%2)==

0?2:

1;

身份證驗證

1 簡單的正規表示式 1 preg match d d dx id card 2 preg match d 18 19 20 d 01 d 0123 d d d x id card 3 preg match d d d x x id card 2 複雜並且嚴格一些的驗證 這個可以驗證15位和18位的...

身份證驗證

身份證分為兩類 1 全是數字 15位或者18位。2 大寫x 18位,最後一位字母x,其餘必需是數字。正則 d d d d x 身份驗證例項 header content type text html charset utf 8 idc post idc bm substr idc,0,6 gende...

PHP驗證身份證

原作者有個錯的地方改了轉過來 document 檢查符合 gb11643 1999 標準的身份證號碼的正確性 file gb11643 1999.func.php fri mar 28 09 42 41 cst 2008 zxing updated fri mar 28 09 42 41 cst 2...