喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 帮助

RSS 订阅当前论坛  

喜悦证交所已经关闭

上一主题 下一主题
     
标题: 求助!!!!!  
 
dzy (dzy)
注册会员
Rank: 2
一般会员


UID 64807
精华 0
积分 83
帖子 74
金钱 83 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2005-6-17
状态 离线
[广告]: q m
求助!!!!!

<一>
(1)英文代號以下表轉換成數字
A=10 台北市 J=18 新竹縣 S=26 高雄縣
B=11 台中市 K=19 苗栗縣 T=27 屏東縣
C=12 基隆市 L=20 台中縣 U=28 花蓮縣
D=13 台南市 M=21 南投縣 V=29 台東縣
E=14 高雄市 N=22 彰化縣 * W=32 金門縣
F=15 台北縣 * O=35 新竹市 X=30 澎湖縣
G=16 宜蘭縣 P=23 雲林縣 Y=31 陽明山
H=17 桃園縣 Q=24 嘉義縣 * Z=33 連江縣
* I=34 嘉義市 R=25 台南縣
(2)英文轉成的數字, 個位數乘9再加上十位數
(3)各數字從右到左依次乘1、2、3、4....8
(4)求出(2),(3)之和
(5)求出(4)除10後之餘數,用10減該餘數,結果就是檢查碼,若餘數為0
檢查碼就是0
例如: 身分證號碼是 W100232736

                    W 1 0 0 2 3 2 7 3
   3 2
                     ×      ×      ×      ×      ×      ×      ×      ×     ×
                    9    8 7 6 5 4 3 2 1
      ─────────────────────
             3 + 18  +  8  +  0  +  0 + 10 + 12 +    6 + 14 +   3 =74


74/10=7....4 (餘數)
10-4=6 (檢查碼)
故身分證號碼是 W100232736

這個規則很有趣吧,其中第十個數字叫檢測位元;換句話說,
     這是為了判別是否為正確身份證號碼,所加入的特別數字。

<二>
驗証:
若餘數為 0 ,則為正確的身分證字號。

若身分證號碼是 W100232736

                     W 1 0 0 2 3 2 7 3  6
   3 2
                     ×      ×       ×      ×      ×      ×      ×      ×      ×
                    9    8  7 6 5 4 3 2 1
         ─────────────────────
             3 + 18  +  8  +  0 +   0 +  10 +  12 +   6 +14  +  3 + 6 =80


80/10=8....(整除,故為正確的身份證字號)

身份證字號產生器一      身份證字號產生器二

要想实现以上这个功能.用php该那么写呢?
2006-2-27 03:13 PM#1
查看资料  发短消息  QQ  顶部
 
yoryoue
高级会员
Rank: 4


UID 24701
精华 0
积分 662
帖子 668
金钱 662 喜悦币
威望 0
人脉 0
阅读权限 50
注册 2003-11-18
来自 农村
状态 离线
[推荐阅读] 我想做一个免费bbs的站,怎摸用php生成php文件呀!
Re: 求助!!!!!



QUOTE:
最初由 dzy 发布
[B]<一>
(1)英文代號以下表轉換成數字
A=10 台北市 J=18 新竹縣 S=26 高雄縣
B=11 台中市 K=19 苗栗縣 T=27 屏東縣
C=12 基隆市 L=20 台中縣 U=28 花蓮縣
D=13 台南市 M=21 南投縣 V=29 台東縣
E=14 高雄市 N=22 彰化縣 * W=32 金門縣
F=15 台北縣 * O=35 新竹市 X=30 澎湖縣
G=16 宜蘭縣 P=23 雲林縣 Y=31 陽明山
H=17 桃園縣 Q=24 嘉義縣 * Z=33 連江縣
* I=34 嘉義市 R=25 台南縣
(2)英文轉成的數字, 個位數乘9再加上十位數
(3)各數字從右到左依次乘1、2、3、4....8
(4)求出(2),(3)之和
(5)求出(4)除10後之餘數,用10減該餘數,結果就是檢查碼,若餘數為0
檢查碼就是0
例如: 身分證號碼是 W100232736

                    W 1 0 0 2 3 2 7 3
   3 2
                     ×      ×      ×      ×      ×      ×      ×      ×     ×
                    9    8 7 6 5 4 3 2 1
      ─────────────────────
             3 + 18  +  8  +  0  +  0 + 10 + 12 +    6 + 14 +   3 =74


74/10=7....4 (餘數)
10-4=6 (檢查碼)
故身分證號碼是 W100232736

這個規則很有趣吧,其中第十個數字叫檢測位元;換句話說,
     這是為了判別是否為正確身份證號碼,所加入的特別數字。

<二>
驗証:
若餘數為 0 ,則為正確的身分證字號。

若身分證號碼是 W100232736

                     W 1 0 0 2 3 2 7 3  6
   3 2
                     ×      ×       ×      ×      ×      ×      ×      ×      ×
                    9    8  7 6 5 4 3 2 1
         ─────────────────────
             3 + 18  +  8  +  0 +   0 +  10 +  12 +   6 +14  +  3 + 6 =80


80/10=8....(整除,故為正確的身份證字號)

身份證字號產生器一      身份證字號產生器二

要想实现以上这个功能.用php该那么写呢? [/B]


<?php
function checkid($id)
{
  
$Arr = Array('A' => 10'B' => 11'C' => 12'D' => 13'E' => 14'F' => 15
               
'G' => 16'H' => 17'I' => 34'J' => 18'K' => 19'L' => 20
               
'M' => 21'N' => 22'O' => 35'P' => 23'Q' => 24'R' => 25,
                
'S' => 26'T' => 27'U' => 28'V' => 29'W' => 32'X' => 30
               
'Y' => 31'Z' => 33);

  
$id strrev($Arr[$id{0}] . substr($id1));
  
$total 0;

  for (
$i 1$i <=9$i++)
  {
    
$total += $id{$i} * $i;
  }

  
$total += $id{strlen($id)-1};

  return ((
10 $total 10 == $id{0}) && ($total+$id{0}) % 10 == 0) ? TRUE FALSE;
}
?>




[img]http://www.yoryoue.iii-grp.com/128.jpg[/img]
2006-2-27 05:36 PM#2
查看资料  访问主页  Blog  发短消息  QQ  顶部
 
dzy (dzy)
注册会员
Rank: 2
一般会员


UID 64807
精华 0
积分 83
帖子 74
金钱 83 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2005-6-17
状态 离线
[推荐阅读] 上传文件的时候无法上传,一点确定就自动清空了。谁遇到过?
[新版]

哎!终于解决了!不过没楼上写得好!虽说有点烂!但还是实现了!我的要简单得多了
<?php
function aa($a)
        {
        if($a=="a")$b=10;
        if($a=="s")$b=11;
        if($a=="d")$b=12;
        if($a=="f")$b=14;
    if($a=="g")$b=16;
        if($a=="h")$b=17;
        if($a=="j")$b=18;
        if($a=="k")$b=19;
        if($a=="l")$b=20;
        if($a=="z")$b=33;
        if($a=="x")$b=30;
        if($a=="c")$b=12;
        if($a=="v")$b=29;
        if($a=="b")$b=11;
        if($a=="n")$b=22;
        if($a=="m")$b=21;
    if($a=="q")$b=24;
        if($a=="w")$b=32;
        if($a=="e")$b=14;
        if($a=="r")$b=25;
        if($a=="t")$b=27;
        if($a=="y")$b=31;
        if($a=="u")$b=28;
        if($a=="i")$b=34;
        if($a=="o")$b=35;
        if($a=="p")$b=23;
        return $b;
        }
function ss ($dd)
{
        $y=substr($dd,9,1);
        $a=substr($dd,1,8);
        $b=substr($dd,0,1);
        $c=aa($b);
        $a1=substr($a,7,1)*1;
        $a2=substr($a,6,1)*2;
        $a3=substr($a,5,1)*3;
        $a4=substr($a,4,1)*4;
        $a5=substr($a,3,1)*5;
        $a6=substr($a,2,1)*6;
        $a7=substr($a,1,1)*7;
        $a8=substr($a,0,1)*8;
        $a9=substr($a,1,1)*9;
        $a10=substr($a,0,1)*1;
        $he=$a1+$a2+$a3+$a4+$a5+$a6+$a7+$a8+$a9+$a10;
        $u=$he%10;
        if($u==0)
                {
                $abc="true";
                }
                elseif($u!=0)
                {
                   $q=10-$u;
                   if($q!=$y)
                   {
                   $abc="false";
                   }
                   else
                   {
                   $abc="true";
                   }
           }
        return $abc;
}
echo ss("w100232736");
?>
2006-2-27 06:11 PM#3
查看资料  发短消息  QQ  顶部
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 




Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 0.027751 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP