PHP驗證身份證

2021-06-21 20:19:45 字數 1924 閱讀 8958

原作者有個錯的地方改了轉過來

<?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 2008

# note: 呼叫函式 check_id();

*/$id =array();

$id = '370882198601064774';

$id = '420502198611281126';

$id = '370882198601064770';

$id = '370882860106477';

$id = '63212519850703214x';

$id = '429021198203221006';

$id = '429036198203211023';

foreach ($id as $key => $value)

/*# 函式功能:計算身份證號碼中的檢校碼

# 函式名稱:idcard_verify_number

# 參數列 :string $idcard_base 身份證號碼的前十七位

# 返回值 :string 檢校碼

*/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); //debug 加權因子

$verify_number_list = array('1', '0', 'x', '9', '8', '7', '6', '5', '4', '3', '2'); //debug 校驗碼對應值

$checksum = 0;

for ($i = 0; $i < strlen($idcard_base); $i++)

$mod = $checksum % 11;

$verify_number = $verify_number_list[$mod];

return $verify_number;}/*

# 函式功能:將15位身份證公升級到18位

# 函式名稱:idcard_15to18

# 參數列 :string $idcard 十五位身份證號碼

# 返回值 :string

*/function idcard_15to18($idcard)elseelse

}$idcard = $idcard . idcard_verify_number($idcard);

return $idcard;}/*

# 函式功能:18位身份證校驗碼有效性檢查

# 函式名稱:idcard_checksum18

# 參數列 :string $idcard 十八位身份證號碼

# 返回值 :bool

*/function idcard_checksum18($idcard)

$idcard_base = substr($idcard, 0, 17);

if (idcard_verify_number($idcard_base) != strtoupper(substr($idcard, 17, 1)))else}/*

# 函式功能:身份證號碼檢查介面函式

# 函式名稱:check_id

# 參數列 :string $idcard 身份證號碼

# 返回值 :bool 是否正確

*/function check_id($idcard)

if(idcard_checksum18($idcard))else

}else

}?>

**:

php 驗證身份證

php 根據身份證號,自動獲取對應的星座函式 function get xingzuo cid else if month 2 day 20 month 3 day 20 else if month 3 day 20 month 4 day 20 else if month 4 day 20 mon...

超實用的php驗證身份證和js驗證身份證的方法

js驗證身份證的方法 function validateidcard idcard 0 d 1 0 2 0 1 2 d 3 0 1 d 1 9 d 1 9 d 0 d 1 0 2 0 1 2 d 3 0 1 d d xx 如果通過該驗證,說明身份證格式正確,但準確性還需計算 if regidcard...

php驗證身份證是否正確

php驗證身份證是否準確 結合網上資料整理,目前用於專案身份證驗證無問題 public function validateidcard idcard else 如果是15位身份證,則轉化為18位if strlen idcard 15 else 加權因子 factor array 7 9,10 5,8...