使用PHP从ID号中获取一系列线索(星座、生肖、生日等)。
本文的第一个例子为大家分享PHP的身份证号码,自动获取相应的星座函数,供大家参考,具体内容如下< PHP
功能get_xingzuo($ CID){ / /根据身份证号码,自动返回相应的标志
如果(!isidcard($ CID))返回'';
从美元= substr($ CID,10,4);
美元一个月=(int)substr($ BIR,0,2);
当日美元=(int)substr(美元和2);
strvalue美元=;
如果(($月= = 1美元一天> = 20)| |($月= = 2美元天<= 18)){
strvalue美元=水瓶座;
}别人(如果($月= = 2美元一天> = 19)| |($月= = 3美元天<= 20)){
strvalue美元=双鱼;
}别人(如果($月= = 3美元一天> 20)| |($月= = 4美元天<= 19)){
strvalue美元=白羊座;
}别人(如果($月= = 4美元一天> = 20)| |($月= = 5美元天<= 20)){
strvalue美元=金牛;
}别人(如果($月= = 5美元一天> = 21)| |($月= = 6美元天<= 21)){
$strValue = Gemini;
}别人(如果($月= = 6美元一天> 21)| |($月= = 7美元天<= 22)){
strvalue美元= 癌症;
}别人(如果($月= = 7美元一天> 22)| |($月= = 8美元天<= 22)){
strvalue美元=狮子座;
}别人(如果($月= = 8美元一天> = 23)| |($月= = 9美元天<= 22)){
strvalue美元=处女座;
}别人(如果($月= = 9美元一天> = 23)| |($月= = 10美元天<= 23)){
strvalue美元=天秤座;
}别人(如果($月= = 10美元一天> 23)| |($月= = 11美元天<= 22)){
strvalue美元=天蝎座;
}别人(如果($月= = 11美元一天> 22)| |($月= = 12美元天<= 21)){
strvalue美元=射手座;
}别人(如果($月= = 12美元一天> 21)| |($月= = 1美元天<= 19)){
strvalue美元=摩羯;
}
返回的strvalue;
}
功能get_shengxiao($ CID){ / /根据身份证号码,自动返回对应的生肖
如果(!isidcard($ CID))返回'';
$起始=1901;
美元=美元=(int)substr($ CID,6,4);
$ =($开始- $结束)% 12;
= $ ;
如果(X = 1 | | X元= = 11){ $值=鼠;}
如果($ = 0){ $ } 牛;
如果(X = 11 | | X元= = 1){ $值=老虎;}
如果(X = 10 | | X元= = 2){ $值=兔子;}
如果(X = 9 | | X元= = 3){ $值=龙;}
如果(X = 8 | | X元= = 4){ $值=蛇;}
如果(X = 7 | | X元= = 5){ $值=马;}
如果(X = 6 | | X元= = 6){ $值=羊;}
如果(X = 5 | | X元= = 7){ $值=猴子;}
如果(X = 4 | | X元= = 8){ $值=鸡;}
如果(X = 3 | | X元= = 9){ $值=狗;}
如果(X = 2 | | X元= = 10){ $值=猪;}
返回值;
}
功能get_xingbie($ CID){ / /根据ID号、性别自动返回
如果(!isidcard($ CID))返回'';
sexint美元=(int)substr($ CID,16,1);
返回的sexint % 2 = = = 0 '女':'男性';
}
功能isidcard(美元数){ / /查身份证号码
到大写,如x
$数= strtoupper(美元数);
/加权因子
$ =数组(7, 9, 10,5, 8, 4,2, 1, 6,3, 7, 9,10, 5)。
检查代码字符串
AI =阵列(1美元,'0','x',9、8、7',6,5,4,3,);
在17之前进行循环处理
$=0;
($ i = 0;$ i < 17;$ + +){
提取17个变量类型,并将变量类型提取为实
$ =(int)$;
提取/权重因素
美元= $ $ I };
将数字从身份证号码和权重因子中相乘,并累积。
美元=美元;
}
计算数字
snumber =∑% 11美元美元;
根据字符串的序列号提取相应的检查码。
check_number美元美元美元snumber } { =爱;
如果($号{ 17 } = = $ check_number){
返回true;
{人}
返回false;
}
}
>
第二个例子:使用PHP从ID卡中提取生日,包括15张和18张身份证:
功能getidcardinfo(合身份证,格式= 1美元){
结果错误的} {美元= 0; / / 0:未知错误,1:身份证格式错误,2:没有错误
结果'flag'} {美元= ''; / / 0标记的成人,1表示未成年人
结果'tdate'} {美元= ''; / /生日,格式:2012-11-15
如果(!preg_match( / ^( D { 15 } $ | ^ D { 18 } $ | ^ D { 17 }( D | X | x)){ $ /,为身份证))
结果错误的} {美元= 1;
返回$结果;
其他{ }
如果(strlen(合身份证)= = 18)
{
tyear美元= intval(substr(合身份证,4));
tmonth美元= intval(substr(合身份证,2));
现在的美元= intval(substr(合身份证,12,2));
}
elseif(strlen(合身份证)= = 15)
{
tyear美元= intval(19 。substr(合身份证,6,2));
tmonth美元= intval(substr(合身份证,2));
现在的美元= intval(substr(合身份证,2));
}
如果($ tyear >日期(Y)| | $ tyear <(日期(Y)- 100)))
{
$标志=0;
}
($ tmonth12)
{
$标志=0;
}
($ tday31)
{
$标志=0;
}其他
{
如果($格式)
{
tdate = tyear美元美元。tmonth美元。现在的美元;
}
其他的
{
tdate = tmonth美元美元。现在的美元;
}
如果((时间()- mktime(0,0,0,tmonth美元,现在的美元,美元tyear))> 18 * 365 * 24 * 60 * 60)
{
$标志=0;
}
其他的
{
$标志=1;
}
}
}
结果错误的} {美元= 2; / / 0:未知错误,1:身份证格式错误,2:没有错误
结果'isadult} = {美元美元 / / 0旗;明显的成人,1表示未成年人
结果分为} = {美元美元tdate; / /生日日期
返回$结果;
}
最后一个例子:PHP提取ID号中的生日日期和一个函数来判断成人是否已经成年。15和18身份证可以同时确定。我自己用得很好。共享函数代码如下所示:
< PHP
用PHP从ID中提取ID,包括位置和身份证
功能getidcardinfo(合身份证){
结果错误的} = {美元; / /:未知错误:ID格式错误,无错误:
结果'flag'} {美元= ''; / /马克成人、青少年
结果'tdate'} {美元= ''; / /生日,格式如:—
如果(!Eregi(^ { - }($ { } { } - a-za-z | { } { } - a-za-z美元),身份证)){
结果错误的} = {美元;
返回$结果;
其他{ }
如果(strlen(合身份证)= {)
tyear美元= intval(substr(合身份证,));
tmonth美元= intval(substr(合身份证,));
现在的美元= intval(substr(合身份证,));
如果($ tyear >日期(Y)| | $ tyear <(日期(Y)-)){
$标志=;
} elseif($ tmonth){
$标志=;
} elseif(现在的美元){
$标志=;
其他{ }
tdate = tyear美元美元。tmonth美元。现在的美元。:;
如果((时间)(- mktime(,tmonth美元,现在的美元,tyear美元,和> *))){
$标志=;
其他{ }
$标志=;
}
}
} elseif(strlen(合身份证)= {)
tyear美元= intval(。substr(合身份证,));
tmonth美元= intval(substr(合身份证,));
现在的美元= intval(substr(合身份证,));
如果($ tyear >日期(Y)| | $ tyear <(日期(Y)-)){
$标志=;
} elseif($ tmonth){
$标志=;
} elseif(现在的美元){
$标志=;
其他{ }
tdate = tyear美元美元。tmonth美元。现在的美元。:;
如果((时间)(- mktime(,tmonth美元,现在的美元,tyear美元,和> *))){
$标志=;
其他{ }
$标志=;
}
}
}
}
结果错误的} = {美元; / /:未知错误:ID格式错误,无错误:
结果'isadult} = {美元美元的标志; / /马克成人、青少年
结果分为} = {美元美元tdate; / /生日日期
返回$结果;
}
用法如下:
GetIDCardInfo(身份证号码);
上面的代码是萧边与你分享PHP提取身份证号码的生日日期,验证它是否是一个成人的功能,希望对你有用。