1. 程式人生 > >根據使用者身份證獲取資訊(php)

根據使用者身份證獲取資訊(php)

<?php /** * @Class GetInfoByIDCard * @description:根據使用者身份證獲取資訊 * @Created by PhpStorm. * @Author: SunsCheung * @date 2016-01-15 */ class GetInfoByIDCard{ public function getStarSign($cid){ // 根據身份證號,自動返回對應的星座 if (!$this->isIdCard($cid)) return ''; $bir = substr($cid
, 10, 4); $month = (int)substr($bir, 0, 2); $day = (int)substr($bir, 2); $strValue = ''; if (($month == 1 && $day <= 21) || ($month == 2 && $day <= 19)) { $strValue = "水瓶座"; } else if (($month == 2 && $day > 20) || ($month
== 3 && $day <= 20)) { $strValue = "雙魚座"; } else if (($month == 3 && $day > 20) || ($month == 4 && $day <= 20)) { $strValue = "白羊座"; } else if (($month == 4 && $day > 20) || ($month == 5 && $day <= 21)) {
$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 <= 23)) { $strValue = "獅子座"; } else if (($month == 8 && $day > 23) || ($month == 9 && $day <= 23)) { $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 <= 20)) { $strValue = "魔羯座"; } return $strValue; } public function getAnimalSign($cid){ //根據身份證號,自動返回對應的生肖 if (!$this->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; } public function getSexSign($cid){ //根據身份證號,自動返回性別 if (!$this->isIdCard($cid)) return ''; $sexInt = (int)substr($cid, 16, 1); return $sexInt % 2 === 0 ? '女' : '男'; } public 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; } } /** * 獲取例項 */ public function GetInfoByIDCard(){ if (!self::$GetInfoByIDCard){ self::$GetInfoByIDCard = new GetInfoByIDCard(); } return self::$GetInfoByIDCard; } }

相關推薦

根據使用者身份證獲取資訊(php)

<?php /** * @Class GetInfoByIDCard * @description:根據使用者身份證獲取資訊 * @Created by PhpStorm. * @Author: SunsCheung * @date 2016-01-15 */ class G

java身份證合法性校驗並獲取根據身份證號提取身份證相關資訊

原文地址:https://blog.csdn.net/ycb1689/article/details/52352147   /** * 身份證前6位【ABCDEF】為行政區劃數字程式碼(簡稱數字碼)說明(參考《GB/T 2260-2007 中華人民共和國行政區劃程式碼》): *

根據身份證獲取性別生日等資訊

(1)根據身份證獲取性別 方法1: private string sex(string identityCard) { string sex = ""; //處理18位的身份證號碼從號碼中得到生日和性別程式碼 if (identityCard.Length ==

根據ip獲取地理資訊.php

根據ip獲取地理資訊.php &lt;?php function getIPLoc_sina($queryIP){ $url = 'http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&amp;ip='.$

沫沫金原創提供:完整的根據身份證獲取省份、性別、年齡、生日及頁面驗證

數字 部分 ast script cit key oot test log 概述: 身份證的校驗,識別,分離,處處可見。最近H5移動端的項目就需要掃碼獲取身份證,根據身份證自動識別省份、性別、年齡、生日信息。這裏分享完善版,希望大家喜歡。 環境: 依賴jQuery、Boot

php根據出生日期獲取年齡

turn logs class php http www. www .html light /** * @param $birthday 出生年月日(1992-1-3) * @return string 年齡 */ function countage($birthd

JS-根據身份證獲取 出生日期和性別

超出 DC struct 生日 超出範圍 河北 福建 湖北 substring 一、根據身份證獲取出生日期和性別/** * 根據身份證獲取出生日期(yyyy-MM-dd) * @param psidno * @returns {birthday:yyyy-MM-dd

從 HTTPServletRequest 中根據 User-Agent 獲取訪問裝置資訊

背景:根據 HttpServletRequest獲取訪問裝置資訊。 Http 協議請求頭中的 User-Agent屬性會將客戶端裝置的資訊傳遞給伺服器,這些資訊包括客戶端作業系統及版本、CPU 型別、瀏覽器及版本、瀏覽器渲染引擎、瀏覽器語言、瀏覽器外掛等。 參考: 使用者代理(U

BankCardUtils 根據銀行卡號 獲取 銀行卡型別、銀行名稱和銀行編碼 自動格式化銀行卡號、手機號、身份證號輸入的工具類

BankCardUtils 專案地址:nanchen2251/BankCardUtils  簡介:根據銀行卡號 獲取 銀行卡型別、銀行名稱和銀行編碼 自動格式化銀行卡號、手機號、身份證號輸入的工具類 更多:作者   提 Bug  

根據身份證獲取地址(mysql)

e Encoding : 65001 Date: 2013-04-17 11:51:12 */ SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for `s_area_code

php無限分類根據頂類獲取所有子類

 首先建立分類資訊表: CREATE TABLE IF NOT EXISTS `category` ( `categoryId` smallint(5) unsigned NOT NULL AUTO_INCREMENT, `parentId` smallint(5)

使用springmvc從頁面中獲取資料,然後根據獲得的引數資訊進行修改,如果修改的資料中含有不是基本資料型別的引數。比如傳的引數中有Date型別的資料時,需要我們進行引數型別轉換。

1.1 需求   在商品修改頁面可以修改商品的生產日期,並且根據業務需求自定義日期格式。 1.2 需求分析   由於日期資料有很多格式,所以springmvc沒辦法把字串轉換成日期型別。所以需要自定義引數繫結。前端控制器接收到請求後,找到註解形式的處理器介面卡,對RequestMapping標記的方法進

java根據ip地址獲取詳細地域資訊

網際網路有很多介面可以實現通過ip查詢到具體的位置,如下: 通過淘寶IP地址庫獲取IP位置 1. 請求介面(GET):http://ip.taobao.com/service/getIpInfo.php?ip=[ip地址字串] 2. 響應資訊:(

根據年份獲取周次,根據周次獲取日期範圍,獲取當前年份,周次列表資訊

在原文的基礎上改的,適應我這邊的需求,從週一開始到週日(姑且算個原創哈,原文連結在最下邊)。 (1)根據年份獲取周次 (2) 獲取當前年份周次 (3) 根據選擇周次獲取日期時間範圍 誰有更簡單的方法也告知下,一起參詳參詳。 function getNowFormatDate(t

通過StackTraceElement獲取方法呼叫的具體資訊

本文簡要介紹了StackTrace(堆疊軌跡)以及StackTraceElement的一些用法 一、什麼是StackTrace StackTrace(堆疊軌跡)可以認為是一系列方法呼叫過程的集合。

根據程序名字獲取程序資訊並進行操作

獲取程序快照 HANDLE WINAPI CreateToolhelp32Snapshot( DWORD dwFlags, DWORD th32ProcessID); dwFlags表示 #define TH32CS_SNAPHEAPLIST 0x00000001 #define

根據自動定位獲取範圍內最近的資訊

以前的一個專案,需求是根據當前使用者上傳的經緯度座標,在資料庫幾十萬萬條資料中查詢出符合“周圍3公里範圍內”條件的座標點。  所以,我首先想到的是,對每條資料去進行遍歷,跟資料庫中的每個點進行距離計算,當距離小於3公里時候,認為匹配成功。經測試,這樣做確實能得到結果,但是效率

微信網頁授權獲取使用者基本資訊--PHP

現在就說說怎麼通過網頁授權獲取使用者基本資訊(國家,省,市,暱稱)等。 必要條件: 1)公眾號認證 2)有網頁授權獲取使用者基本資訊的許可權介面   注意:最近有朋友說:在公眾平臺申請的測試號,會出現無法取到使用者資訊。換到認證的公眾賬號就正常了!  &n

【Java工具十二】java 身份證驗證,包含香港和臺灣,根據身份證獲取性別、戶籍等

package com.xxx.util; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.D

12-hibernate實戰 多對一根據查詢員工獲取部門的資訊

static Employee query(int empId) { Session session = null; Transaction transaction = null; try { session=HibernateUtil.getSessi