发布: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. retain和copy还有assign的区别

    1. 接触过C,那么假设你用malloc分配了一块内存,并且把它的地址赋值给了指针a,后来你希望指针b也共享这块内存,于是你又把a赋值给 (assign)了b.此时a和b指向同一块内存,请问当a不再需 ...

  2. ASIHTTPRequest, request sent twice

    ´ve just started using ASIHTTPRequest for iOs and I have a small issue with it. All requests are sen ...

  3. Google SEO 学习网站记录

    在搜索结果中创建良好的标题和摘要: https://support.google.com/webmasters/answer/35624?hl=zh-Hans&ref_topic=600194 ...

  4. 【音乐App】—— Vue-music 项目学习笔记:歌手页面开发

    前言:以下内容均为学习慕课网高级实战课程的实践爬坑笔记. 项目github地址:https://github.com/66Web/ljq_vue_music,欢迎Star. 一.歌手页面布局与设计 需 ...

  5. 想提升java知识的同学请进

    这是我最近在整理的笔记,大家可以看看. https://www.gitbook.com/book/jackal007/java_more/ 如果觉得有问题可以提出,随时修改. 这个笔记是我花了好多时间 ...

  6. IT项目管理-----给年轻工程师的十大忠告

    http://blog.csdn.net/hbqhdlc/article/details/6201179给年轻工程师的十大忠告 诸位,咱当电子工程师也是十余年了,不算有出息,环顾四周,也没有看见几个有 ...

  7. jQuery与ajax的应用(一)

    <body> <div id="resText"></div> <div id="reshtml"></d ...

  8. 应用处理器AP概述

    移动终端芯片其它部分见"一站式了解智能终端处理器". 功能机时代,扩展手机特性是在基带芯片上进行.手段包含:升级基带芯片获得更强的计算能力.电路进行又一次设计以添加功能如照相机和S ...

  9. hdu 1598 find the most comfortable road(并查集+枚举)

    find the most comfortable road Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K ...

  10. NativeBase自定义组件样式

    http://nativebase.io/docs/v0.5.13/customize#themingNativeBaseApp 对于NativeBase中的组件,我们可以根据实际需要来进行自定义组件 ...