概述
public function idcard_check_other($idcard){
$idcard = strtoupper($idcard);
$idcard = str_replace(array('(',')'), array('(',')'), $idcard);
preg_match('/^([A-Z])([0-9]{6})(([A0-9]{1}))$/', $idcard,$match);//香港
if ($match && count($match)==4)
{
$sum = (ord($match[1])-64)*8;
$index = 7;
for($j=0;$j<6;$j++)
{
$sum += $match[2]{$j}*$index;
$index--;
}
$get_num = $sum%11;
if ($get_num==1) $get_num = 'A';
elseif ($get_num>1) $get_num = 11-$get_num;
if ($match[3]==$get_num) return true;
return false;
}
preg_match('/^([A-Z])([0-9]{9})$/', $idcard,$taiwan);//中国台湾省
if ($taiwan && count($taiwan)==3)//首位数字代表性别,男性为1、女性为2
{
$area_code = array('A'=>10,'B'=>11,'C'=>12,'D'=>13,'E'=>14,'F'=>15,'G'=>16,'H'=>17,'I'=>34,'J'=>18,'K'=>19,'L'=>20,'M'=>21,'N'=>22,'O'=>35,'P'=>23,'Q'=>24,'R'=>25,'S'=>26,'T'=>27,'U'=>28,'V'=>29,'W'=>32,'X'=>30,'Y'=>31,'Z'=>33);
$code = $area_code[$taiwan[1]];
$sum = $code{0} + $code{1}*9;
$index = 8;
for($k=1;$k<8;$k++)
{
$sum += $taiwan[2]{$k} * $index;
$index--;
}
$get_num = $sum%10;
if ($get_num==$taiwan[2]{8}) return true;
return false;
}
preg_match('/^[157][0-9]{6}([0-9])$/', $idcard,$aomen);//澳门
if ($aomen)
{
return true;
}
return false;
}
最后
以上就是敏感星星为你收集整理的php下对港澳台身份证进行验证的全部内容,希望文章能够帮你解决php下对港澳台身份证进行验证所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复