直接看代碼吧,很簡(jiǎn)單的一個(gè)PHP類(lèi)
復(fù)制代碼 代碼如下:
$IDCard = new IDCard();
var_dump($IDCard::isCard($_GET['card']));
/**
?* 身份證處理類(lèi)
?*/
class IDCard {
??? //檢證身份證是否正確
??? public static function isCard($card) {
??????? $card = self::to18Card($card);
??????? if (strlen($card) != 18) {
??????????? return false;
??????? }
??????? $cardBase = substr($card, 0, 17);
??????? return (self::getVerifyNum($cardBase) == strtoupper(substr($card, 17, 1)));
??? }
?
??? //格式化15位身份證號(hào)碼為18位
??? public static function to18Card($card) {
??????? $card = trim($card);
??????? if (strlen($card) == 18) {
??????????? return $card;
??????? }
??????? if (strlen($card) != 15) {
??????????? return false;
??????? }
??????? // 如果身份證順序碼是996 997 998 999,這些是為百歲以上老人的特殊編碼
??????? if (array_search(substr($card, 12, 3), array('996', '997', '998', '999')) !== false) {
??????????? $card = substr($card, 0, 6) . '18' . substr($card, 6, 9);
??????? } else {
??????????? $card = substr($card, 0, 6) . '19' . substr($card, 6, 9);
??????? }
??????? $card = $card . self::getVerifyNum($card);
??????? return $card;
??? }
??? // 計(jì)算身份證校驗(yàn)碼,根據(jù)國(guó)家標(biāo)準(zhǔn)gb 11643-1999
??? private static function getVerifyNum($cardBase) {
??????? if (strlen($cardBase) != 17) {
??????????? return false;
??????? }
??????? // 加權(quán)因子
??????? $factor = array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
??????? // 校驗(yàn)碼對(duì)應(yīng)值
??????? $verify_number_list = array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');
??????? $checksum = 0;
??????? for ($i = 0; $i ??????????? $checksum += substr($cardBase, $i, 1) * $factor[$i];
??????? }
??????? $mod = $checksum % 11;
??????? $verify_number = $verify_number_list[$mod];
??????? return $verify_number;
??? }
}
?
?>

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)