发布:thatboy   来源:Net     【  
本文介绍下,php用身份证号码获取星座和生肖的方法,一个简单的php实例,从身份证号码中取得星座与生肖信息,有兴趣的朋友参考研究下吧。本文转自:http://www.jbxue.com/article/13455.html
本节内容:

php从身份证号码中获取星座和生肖信息。

代码:

复制代码代码示例:

<?php
/**
* 根据身份证号,自动获取对应的星座
* edit: www.jbxue.com
*/
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 身份证号码获取星座和生肖的更多相关文章

  1. java 根据身份证号码获取出生日期、性别、年龄

      1.情景展示 如何根据身份证号,计算出出生日期.性别.年龄? 2.解决方案 从网上找的别人的,因为并没有实际用到,所以并未对其优化! /** * 通过身份证号码获取出生日期.性别.年龄 * @pa ...

  2. JAVA通过身份证号码获取出生日期、年龄、性别

    JAVA验证身份证号码是否正确:https://www.cnblogs.com/pxblog/p/12038278.html /** * 通过身份证号码获取出生日期(birthday).年龄(age) ...

  3. PHP根据身份证号码验证、获取星座、生肖和性别函数

    首先介绍一下身份证含义 新的18位身份证号码各位的含义:1-2位省.自治区.直辖市代码:3-4位地级市.盟.自治州代码:5-6位县.县级市.区代码:7-14位出生年月日,比如19670401代表196 ...

  4. JS通过身份证号码获取出生年月日

    这里我们讲述一下关于jq根据身份证号码计算出生日期.年龄.性别,有需要的同学可参考一下.    代码如下 复制代码 //获取输入身份证号码 var UUserCard = $("#UUser ...

  5. SQL 根据身份证号码获取年龄的函数

    在数据库的运用过程中,我们时常会碰到根据身份证号码来获取当前的年龄,今天我在这里写了一个函数,就是关于获取年龄的 create or replace function FUNC_COMPARE_SFZ ...

  6. IOS 根据身份证号码获取 年龄 生日 性别

    /** 从身份证上获取年龄 18位身份证 */ -(NSString *)getIdentityCardAge:(NSString *)numberStr { NSDateFormatter *for ...

  7. C# 根据身份证号码获取简易信息

    public class PackIden { /// <summary> /// 根据身份证获取生日 /// </summary> /// <param name=&q ...

  8. ahjesus根据身份证号码获取相关信息(生日,省市县,性别)

    使用说明: //出自http://www.cnblogs.com/ahjesus 尊重作者辛苦劳动成果,转载请注明出处,谢谢! var idCard = new IdCard();var msg = ...

  9. PHP通过身份证号码获取性别、出生日期、年龄等信息

    $sex = substr($idcard, (strlen($idcard)==18 ? -2 : -1), 1) % 2 ? '1' : '2'; //18位身份证取性别,倒数第二位奇数是男,偶数 ...

随机推荐

  1. IIS配置支持apk文件下载

    写在前面 最近项目中涉及到移动端的东西,有一个功能是要下载apk文件,apk为安卓安装程序,但是iis默认是不支持该类型的文件下载的. 解决方案 找到该站点,并切换到功能视图 找到MIME类型,双击进 ...

  2. 工程管理,用网页就够了!——Wish3D Earth在线三维地球强势上线

    大型工程涉及到众多的施工队.管理单位和相关部门,相互之间需要传递的数据.文件的数量是惊人的,必须建立起有效的信息管理方法,使管理者及时把握工程的信息,全面准确地控制工程施工情况. 现代化的建筑工程管理 ...

  3. C#自定义MessageBox 按钮的Text

    运行效果: 代码: using System; using System.Drawing; using System.Runtime.InteropServices; using System.Tex ...

  4. Zabbix的前台SQL注射漏洞利用

    今年8月份Map在wooyun上发了个Zabbix某前台SQL注射漏洞 ,11月份才公开. 漏洞详情大约是这样的: 在zabbix前端存在一个SQL注射漏洞,由于zabbix前台可以在zabbix的s ...

  5. HDU 4355 Party All the Time(三分|二分)

    题意:n个人,都要去參加活动,每一个人都有所在位置xi和Wi,每一个人没走S km,就会产生S^3*Wi的"不舒适度",求在何位置举办活动才干使全部人的"不舒适度&quo ...

  6. javascript的window.open()具体解释

    通过button打开一个新窗体.并在新窗体的状态栏中显示当前年份. 1)在主窗体中应用下面代码加入一个用于打开一个新窗体的button: <body> <script type=&q ...

  7. 登陆界面综合实例+spinner下拉列表框详解

      点击确定: 点击修改:     想到Spinner下拉按钮可以通过两种方法生成 方法一: 1.在array数组里面定义数组 代码如下: <resources> <st <? ...

  8. webpack3.0 环境搭建

    额.备份一下总是好的 #为了避免某些国外镜像源安装失败,先设置淘宝镜像代理 yarn config set registry https://registry.npm.taobao.org # 初始化 ...

  9. 宜人贷PaaS数据服务平台Genie:技术架构及功能

    上篇:架构及组件 一.数据平台的发展 1.1 背景介绍 随着数据时代的到来,数据量和数据复杂度的增加推动了数据工程领域的快速发展.为了满足各类数据获取/计算等需求,业内涌现出了诸多解决方案.但大部分方 ...

  10. 关于HDFS NFS3的配置

    1.在core-site.xml中配置 <property> <name>hadoop.proxyuser.root.groups</name> <value ...