PHP 身份證號碼驗證

2021-08-10 11:58:26 字數 1514 閱讀 2595

/**

* 身份證驗證

* * @param string $id

* @return boolean

*/function

is_idcard

( $id )

$)|(^\d([0-9]|x)$)/";

$arr_split = array();

if(!preg_match($regx, $id))

if(15==strlen($id)) //檢查15位

)+(\d)+(\d)+(\d)+(\d)$/";

@preg_match($regx, $id, $arr_split);

//檢查生日日期是否正確

$dtm_birth = "19".$arr_split[2] . '/' . $arr_split[3]. '/' .$arr_split[4];

if(!strtotime($dtm_birth))

else

}else

//檢查18位

)+(\d)+(\d)+(\d)+(\d)([0-9]|x)$/";

@preg_match($regx, $id, $arr_split);

$dtm_birth = $arr_split[2] . '/' . $arr_split[3]. '/' .$arr_split[4];

if(!strtotime($dtm_birth)) //檢查生日日期是否正確

else

;$w = $arr_int[$i];

$sign += $b * $w;

}$n = $sign % 11;

$val_num = $arr_ch[$n];

if ($val_num != substr($id,17, 1))

else}}

}

備註:輸入身份證號碼,返回驗證結果,true或false。

/**

*@desc 通過身份證判斷性別

*@param 身份證號

*@return false 1是男 2是女

*/function

get_***

($card_id = 0);

//提取相應的加權因子

$w = $wi[$i];

//把從身份證號碼中提取的一位數字和加權因子相乘,並累加

$sigma += $b * $w;

}//計算序號

$number = $sigma % 11;

//按照序號從校驗碼串中提取相應的字元。

$check_number = $ai[$number];

//組合號碼

$gather = $chackcard.$check_number;

if($card_id!==$gather)else

//性別驗證

if(($my***%2)==0)else

}

以上方法可以通過身份證號碼識別性別。

身份證號碼驗證

說明 驗證身份證的有效性 引數 cid 身份證號碼 返回 地方 出生時間 性別 private string checkcidinfo string cid if cid.length 18 char c cid cid.length 1 bool last false if c 0 c 9 c a...

驗證身份證號碼

好久沒更新了,今天簽到啦。感覺這個驗證挺重要的,也挺常用的,所以分享給需要的朋友。驗證身份證號碼,在網上找到的好東東 function checkidcard idcard var idcard,y,jym var s,m var idcard array new array idcard arra...

驗證身份證號碼

var idcardnoutil powers 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2 paritybit 1 0 x 9 8 7 6 5 4 3 2 genders checkaddresscode function addresscode test address...