PHP 2種方法判斷身份證是否有效

2021-10-07 19:52:24 字數 1348 閱讀 9770

$idnumber  $judge  $nativeplace  $birth $gender 這幾個引數看看

$url = "  //$身份證替換你自己變數 

$list = file_get_contents("compress.zlib://".$url);

$list= mb_convert_encoding($list, 'utf-8', 'utf-8,gbk,gb2312,big5');

$res = preg_replace("/(\s|\ \;| |\xc2\xa0)/", " ", strip_tags($list));

$idnumber = substr($res,strripos($res,"證件號碼")+12, 18);

$judge = substr($res,strripos($res,"判斷參考")+12, 36);

$nativeplace = substr($res,strripos($res,"發 證 地")+11, 9);

$birth = substr($res,strripos($res,"出生日期")+12, 19);

$gender = substr($res,strripos($res,"性別年齡")+12,12 );

if ($judge === "身份證號碼校驗為合法號碼") $status = true;

else $status = false;

dump($idnumber);dump($judge);dump($nativeplace );dump($birth );

另一種就是正則匹配 , 只會返回布林值

/**

* 判斷是否為合法的身份證號碼

* @param $mobile

* @return int

*/function iscreditno($vstr)[xx\d]|[\d])$/', $vstr)) return false;

if (!in_array(substr($vstr, 0, 2), $vcity)) return false;

$vstr = preg_replace('/[xx]$/i', 'a', $vstr);

$vlength = strlen($vstr);

if ($vlength == 18) else

if (date('y-m-d', strtotime($vbirthday)) != $vbirthday) return false;

if ($vlength == 18)

if($vsum % 11 != 1) return false;

}return true;

}

php 身份證判斷是否成年

通過身份證判斷乙個人是否成年,主要困難和不注意到的地方,就是不同人18周歲,這18年之間的閏年,導致天數會不一樣 是否成年 param idcard return int 0 成年,1未成年 public static function is adult idcard elseif tmonth 0...

php正則判斷是否為合法身份證號的方法

判斷是否為合法的身份證號碼 程式設計客棧 param mobile return int function iscreditno vstr xx d d vstr return false if in array substr vstr,0,2 vcity return false vstr pre...

PHP判斷是否為空的5種方法

isset功能 判斷變數是否被初始化說明 它並不會判斷變數是否為空,可以用來判斷陣列中元素是否被定義過。a a false a c if isset a echo a 未被初始化 if isset b echo b 未被初始化 if isset a c echo a 已經被初始化 結果 b 未被初始...