<?php
// check
class CheckCard{
// $num为身份证号码,$checkSex:1为男,2为女,不输入为不验证
public function checkIdentity($num,$checkSex=''){
// 不是15位或不是18位都是无效身份证号
if(strlen($num) != 15 && strlen($num) != 18){
return false;
}
// 是数值
if(is_numeric($num)){
// 如果是15位身份证号
if(strlen($num) == 15 ){
// 省市县(6位)
$areaNum = substr($num,0,6);
// 出生年月(6位)
$dateNum = substr($num,6,6);
// 性别(3位)
$sexNum = substr($num,12,3);
}else{
// 如果是18位身份证号
// 省市县(6位)
$areaNum = substr($num,0,6);
// 出生年月(8位)
$dateNum = substr($num,6,8);
// 性别(3位)
$sexNum = substr($num,14,3);
// 校验码(1位)
$endNum = substr($num,17,1);
}
}else{
// 不是数值
if(strlen($num) == 15){
return false;
}else{
// 验证前17位为数值,且18位为字符x
$check17 = substr($num,0,17);
if(!is_numeric($check17)){
return false;
}
// 省市县(6位)
$areaNum = substr($num,0,6);
// 出生年月(8位)
$dateNum = substr($num,6,8);
// 性别(3位)
$sexNum = substr($num,14,3);
// 校验码(1位)
$endNum = substr($num,17,1);
if($endNum != 'x' && $endNum != 'X'){
PHP验证身份证类(包含香港身份证校验)
最新推荐文章于 2023-11-24 09:35:51 发布
这是一个PHP类,用于验证身份证号码的合法性,包括15位和18位中国大陆身份证以及香港身份证的校验。通过检查身份证的长度、格式、地区、出生日期、性别和校验码来确保其有效性。
摘要由CSDN通过智能技术生成