使用php从身份证号中获取一系列线索(星座、生肖、生日等)_PHP
本文第一个实例为大家分享了PHP根据身份证号,自动获取对应的星座函数,供大家参考,具体内容如下
<?php function get_xingzuo($cid) { // 根据身份证号,自动返回对应的星座 if (!isIdCard($cid)) return ''; $bir = substr($cid,10,4); $month = (int)substr($bir,0,2); $day = (int)substr($bir,2); $strValue = ''; if (($month == 1 && $day >= 20) || ($month == 2 && $day <= 18)) { $strValue = "水瓶座"; } else if (($month == 2 && $day >= 19) || ($month == 3 && $day <= 20)) { $strValue = "双鱼座"; } else if (($month == 3 && $day > 20) || ($month == 4 && $day <= 19)) { $strValue = "白羊座"; } else if (($month == 4 && $day >= 20) || ($month == 5 && $day <= 20)) { $strValue = "金牛座"; } else if (($month == 5 && $day >= 21) || ($month == 6 && $day <= 21)) { $strValue = "双子座"; } else if (($month == 6 && $day > 21) || ($month == 7 && $day <= 22)) { $strValue = "巨蟹座"; } else if (($month == 7 && $day > 22) || ($month == 8 && $day <= 22)) { $strValue = "狮子座"; } else if (($month == 8 && $day >= 23) || ($month == 9 && $day <= 22)) { $strValue = "处女座"; } else if (($month == 9 && $day >= 23) || ($month == 10 && $day <= 23)) { $strValue = "天秤座"; } else if (($month == 10 && $day > 23) || ($month == 11 && $day <= 22)) { $strValue = "天蝎座"; } else if (($month == 11 && $day > 22) || ($month == 12 && $day <= 21)) { $strValue = "射手座"; } else if (($month == 12 && $day > 21) || ($month == 1 && $day <= 19)) { $strValue = "魔羯座"; } return $strValue; } function get_shengxiao($cid) { //根据身份证号,自动返回对应的生肖 if (!isIdCard($cid)) return ''; $start = 1901; $end = $end = (int)substr($cid,6,4); $x = ($start - $end) % 12; $value = ""; if ($x == 1 || $x == -11) {$value = "鼠";} if ($x == 0) { $value = "牛";} if ($x == 11 || $x == -1) {$value = "虎";} if ($x == 10 || $x == -2) {$value = "兔";} if ($x == 9 || $x == -3) {$value = "龙";} if ($x == 8 || $x == -4) {$value = "蛇";} if ($x == 7 || $x == -5) {$value = "马";} if ($x == 6 || $x == -6) {$value = "羊";} if ($x == 5 || $x == -7) {$value = "猴";} if ($x == 4 || $x == -8) {$value = "鸡";} if ($x == 3 || $x == -9) {$value = "狗";} if ($x == 2 || $x == -10) {$value = "猪";} return $value; } function get_xingbie($cid) { //根据身份证号,自动返回性别 if (!isIdCard($cid)) return ''; $sexint = (int)substr($cid,16,1); return $sexint % 2 === 0 ? '女' : '男'; } function isIdCard($number) { // 检查是否是身份证号 // 转化为大写,如出现x $number = strtoupper($number); //加权因子 $wi = array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2); //校验码串 $ai = array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'); //按顺序循环处理前17位 $sigma = 0; for ($i = 0;$i < 17;$i++) { //提取前17位的其中一位,并将变量类型转为实数 $b = (int) $number{$i}; //提取相应的加权因子 $w = $wi[$i]; //把从身份证号码中提取的一位数字和加权因子相乘,并累加 $sigma += $b * $w; } //计算序号 $snumber = $sigma % 11; //按照序号从校验码串中提取相应的字符。 $check_number = $ai[$snumber]; if ($number{17} == $check_number) { return true; } else { return false; } } ?>
第二个实例:用php从身份证中提取生日,包括15位和18位身份证:
function getIDCardInfo($IDCard,$format=1){ $result['error']=0;//0:未知错误,1:身份证格式错误,2:无错误 $result['flag']='';//0标示成年,1标示未成年 $result['tdate']='';//生日,格式如:2012-11-15 if(!preg_match("/^(\d{15}$|^\d{18}$|^\d{17}(\d|X|x))$/",$IDCard)){ $result['error']=1; return $result; }else{ if(strlen($IDCard)==18) { $tyear=intval(substr($IDCard,6,4)); $tmonth=intval(substr($IDCard,10,2)); $tday=intval(substr($IDCard,12,2)); } elseif(strlen($IDCard)==15) { $tyear=intval("19".substr($IDCard,6,2)); $tmonth=intval(substr($IDCard,8,2)); $tday=intval(substr($IDCard,10,2)); } if($tyear>date("Y")||$tyear<(date("Y")-100)) { $flag=0; } elseif($tmonth<0||$tmonth>12) { $flag=0; } elseif($tday<0||$tday>31) { $flag=0; }else { if($format) { $tdate=$tyear."-".$tmonth."-".$tday; } else { $tdate=$tmonth."-".$tday; } if((time()-mktime(0,0,0,$tmonth,$tday,$tyear))>18*365*24*60*60) { $flag=0; } else { $flag=1; } } } $result['error']=2;//0:未知错误,1:身份证格式错误,2:无错误 $result['isAdult']=$flag;//0标示成年,1标示未成年 $result['birthday']=$tdate;//生日日期 return $result; }
最后一个实例:php 提取身份证号码中的生日日期以及确定是否成年的一个函数。可以同时确定15位和18位的身份证,经本人亲测,非常好用,分享函数代码如下:
<?php //用php从身份证中提取生日,包括位和位身份证 function getIDCardInfo($IDCard){ $result['error']=;//:未知错误,:身份证格式错误,:无错误 $result['flag']='';//标示成年,标示未成年 $result['tdate']='';//生日,格式如:-- if(!eregi("^[-]([-a-zA-Z]{}|[-a-zA-Z]{})$",$IDCard)){ $result['error']=; return $result; }else{ if(strlen($IDCard)==){ $tyear=intval(substr($IDCard,,)); $tmonth=intval(substr($IDCard,,)); $tday=intval(substr($IDCard,,)); if($tyear>date("Y")||$tyear<(date("Y")-)){ $flag=; }elseif($tmonth<||$tmonth>){ $flag=; }elseif($tday<||$tday>){ $flag=; }else{ $tdate=$tyear."-".$tmonth."-".$tday." ::"; if((time()-mktime(,,,$tmonth,$tday,$tyear))>****){ $flag=; }else{ $flag=; } } }elseif(strlen($IDCard)==){ $tyear=intval("".substr($IDCard,,)); $tmonth=intval(substr($IDCard,,)); $tday=intval(substr($IDCard,,)); if($tyear>date("Y")||$tyear<(date("Y")-)){ $flag=; }elseif($tmonth<||$tmonth>){ $flag=; }elseif($tday<||$tday>){ $flag=; }else{ $tdate=$tyear."-".$tmonth."-".$tday." ::"; if((time()-mktime(,,,$tmonth,$tday,$tyear))>****){ $flag=; }else{ $flag=; } } } } $result['error']=;//:未知错误,:身份证格式错误,:无错误 $result['isAdult']=$flag;//标示成年,标示未成年 $result['birthday']=$tdate;//生日日期 return $result; }
用法如下:
getIDCardInfo('身份证号码');
以上代码就是小编跟大家分享的php提取身份证号码中的生日日期以及验证是否为成年人的函数,希望对大家有用。

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

In diesem Kapitel werden wir die Umgebungsvariablen, die allgemeine Konfiguration, die Datenbankkonfiguration und die E-Mail-Konfiguration in CakePHP verstehen.

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

Um in cakephp4 mit Datum und Uhrzeit zu arbeiten, verwenden wir die verfügbare FrozenTime-Klasse.

Um am Datei-Upload zu arbeiten, verwenden wir den Formular-Helfer. Hier ist ein Beispiel für den Datei-Upload.

In diesem Kapitel lernen wir die folgenden Themen im Zusammenhang mit dem Routing kennen.

CakePHP ist ein Open-Source-Framework für PHP. Es soll die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich vereinfachen. CakePHP basiert auf einer MVC-ähnlichen Architektur, die sowohl leistungsstark als auch leicht zu verstehen ist. Modelle, Ansichten und Controller gu

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

Der Validator kann durch Hinzufügen der folgenden zwei Zeilen im Controller erstellt werden.
