坏脾气 发表于 2004 年 12 月 9 日 23:56:49

[讨论]用php代码生成韩名身份证

不知道行不行是从《Zhiwu Shan's blog》转来的

<?
$strjuminNo1=841024;//生日如果是1984.10.24就是841024
$strjuminNo2=1111111; //后七位的开始序号
$strjuminNo2end=2222222; //后气位的停止序号,相差不要太大了否则运行时间会加长!
echo "程序开始运行 ,符合条件的韩名身份证如下<br>";
for(;$strjuminNo2 < $strjuminNo2end;$strjuminNo2++){
$strjuminNo=$strjuminNo1.$strjuminNo2;
$strA = substr($strjuminNo,0,1);
$strB = substr($strjuminNo,1,1);
$strC = substr($strjuminNo,2,1);
$strD = substr($strjuminNo,3,1);
$strE = substr($strjuminNo,4,1);
$strF = substr($strjuminNo,5,1);
$strG = substr($strjuminNo,6,1);
$strH = substr($strjuminNo,7,1);
$strI = substr($strjuminNo,8,1);
$strJ = substr($strjuminNo,9,1);
$strK = substr($strjuminNo,10,1);
$strL = substr($strjuminNo,11,1);
$strM = substr($strjuminNo,12,1);
$strO = $strA*2 + $strB*3 + $strC*4 + $strD*5 + $strE*6 + $strF*7 +
 $strG*8 + $strH*9 + $strI*2 + $strJ*3 + $strK*4 + $strL*5;
$nCalA = $strO;
$nCalB = $nCalA % 11;
$nCalC = 11 - $nCalB;
$nCalC = $nCalC % 10;
if($nCalC == $strM) echo $strjuminNo1."-".$strjuminNo2."<br>";
}
echo "运行结束";
?>

发表于 2004 年 12 月 9 日 23:57:58

不想要。就想让你帮我弄个。COM。RU的米了。

坏脾气 发表于 2004 年 12 月 9 日 23:58:35

不是吧???你没COM.RU的米?

cnpjg 发表于 2004 年 12 月 10 日 00:10:16

附带 帮我也弄一个 COM.RU玉米

长天 发表于 2004 年 12 月 10 日 00:11:09

我的是用html直接生成的

cnpjg 发表于 2004 年 12 月 10 日 00:12:57

长天,给个代码

长天 发表于 2004 年 12 月 10 日 00:27:21

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0032)http://newgame.17173.com/kor.htm -->
<HTML><HEAD><TITLE>韩国身份证号码生成</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<STYLE type=text/css>.t1 {
    FONT-WEIGHT: bold; FONT-SIZE: 10.5pt; FILTER: dropshadow(color=#909090, offx=2, offy=1, positive=1)
}
.t2 {
    COLOR: #0000cc
}
.t3 {
    FONT-WEIGHT: bold; FONT-SIZE: 9pt; COLOR: #602020; FONT-FAMILY: "Arial", "Helvetica", "sans-serif"
}
TD {
    FONT-SIZE: 9pt
}
INPUT {
    FONT-SIZE: 9pt
}
</STYLE>

<SCRIPT>

rnd.today=new Date();
rnd.seed=rnd.today.getTime();

function rnd()
{
    rnd.seed = (rnd.seed*9301+49297) % 233280;
    return rnd.seed/(233280.0);
};

function format(n)
{
    if ( n < 10 )
         return "0"+String(n);
    else
         return String(n);
}

function rand()
{
    var _yy=Math.ceil(rnd()*99);
    var _mm=Math.ceil(rnd()*12);
    var _dd=Math.ceil(rnd()*31);
    var _s=Math.ceil(rnd()*4);

    var mm="";
    var dd="";
    var yy="";
    var s="";

    if ( _yy < 50 )     _yy+=45;
   var yy=String(_yy);
   
    if ( _mm == 0 ) _mm = 1;
    if ( _mm < 10 )
         mm="0"+String(_mm);
    else
         mm=String(_mm);

    if ( _dd == 0 ) _dd = 1;
    if ( _dd < 10 )
         dd="0"+String(_dd);
    else
         dd=String(_dd);
    
    if ( _s == 0 )
         s=1;
    else
         s=String(_s);
         
    var nnnnn=String(Math.ceil(rnd()*99999));
    
    while( nnnnn.length != 5 )
         nnnnn=String(Math.ceil(rnd()*99999));
    
    var nr = yy+mm+dd+s+nnnnn;
    
    return nr;
};

function CheckCode(rn)
{
    var add = "234567892345";
    j=0;

    for(i=1;i<=12;i++)
         j= j + parseInt(rn.charAt(i-1)) * parseInt(add.charAt(i-1));
    
    j = 11 - (j%11);

    return (j.toString()).charAt((j.toString()).length-1);
}

function GetNum(count)
{
    var n = "";
    var p = "";
    
    for( var c=0; c<count; c++ )
    {
         n = rand();
         
         if(!(c%2))
              p = n.substring(0,6)+"-"+n.substring(6)+CheckCode(n)+"\n"+p;
         else
              p = n.substring(0,6)+"-"+n.substring(6)+CheckCode(n)+" ?"+p;

         n = "";
    }
    
    sfz2.innerText=p;
}

function Check()
{
    if(year.value && mon.value && day.value && num.value)
    {
         rn1 = new String(format(year.value)+format(mon.value)+format(day.value));
         rn2 = new String(parseInt(rn1)%4+num.value);
         var chk = "";
         rn = new String(rn1 + rn2);

         chkcode = CheckCode(rn);

         sfz.innerHTML=rn1+"-"+rn2+chkcode;
    }
}

function Check2()
{
    if (c_r.checked)
         GetNum(1);
    if (c_r.checked)
         GetNum(c_n.value);
}
</SCRIPT>

<META content="MSHTML 6.00.2900.2096" name=GENERATOR></HEAD>
<BODY bottomMargin=0 bgColor=#ffffff leftMargin=0 topMargin=0 rightMargin=0
marginwidth="0" marginheight="0">
<TABLE height="100%" cellSpacing=0 borderColorDark=#ffffff cellPadding=2
width="100%" align=center borderColorLight=#666666 border=1>
<TBODY>
<TR>
 <TD vAlign=top align=middle>
   <TABLE width=382 align=center border=0>
     <TBODY>
     <TR align=middle bgColor=#f3f5fa></TR>
     <TR align=middle bgColor=#f3f5fa>
   <TD>
     <DIV align=center><B>韩国身份证号码生成</B></DIV></TD></TR>
     <TR>
   <TD bgColor=#fbfbf4>
     <TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=2 width=300
     align=center borderColorLight=#666666 border=1>
       <TBODY>
       <TR>
     <TD class=t2 colSpan=2>方法1: 手动生成</TD></TR>
       <TR>
     <TD width=120>你的生日:</TD>
     <TD><INPUT maxLength=2 size=3 value=80 name=year> 年 <INPUT
       maxLength=2 size=3 value=4 name=mon> 月 <INPUT maxLength=2
       size=3 value=1 name=day> 日 </TD></TR>
       <TR>
     <TD>输入任意5位数字:</TD>
     <TD><INPUT maxLength=5 size=6 value=00000 name=num> </TD></TR>
       <TR>
     <TD align=middle colSpan=2><INPUT onclick=Check() type=button value=生成号码 name=mark>
     </TD></TR>
       <TR>
     <TD align=middle colSpan=2><SPAN class=t3
     id=sfz> </SPAN></TD></TR></TBODY></TABLE><BR>
     <TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=2 width=300
     align=center borderColorLight=#666666 border=1>
       <TBODY>
       <TR>
     <TD class=t2 colSpan=2>方法2: 随机&批量生成</TD></TR>
       <TR>
     <TD width=120>数量:</TD>
     <TD><INPUT type=radio CHECKED value=1 name=c_r> 1个<BR><INPUT
       type=radio value=2 name=c_r> <INPUT maxLength=3 size=4 value=1
       name=c_n> 个<BR></TD></TR>
       <TR>
     <TD align=middle colSpan=2><INPUT onclick=Check2() type=button value=生成号码 name=mark2>
     </TD></TR>
       <TR>
     <TD align=middle colSpan=2><SPAN class=t3
     id=sfz2> </SPAN></TD></TR></TBODY></TABLE>
     <P align=center> </P></TD></TR>
     <TR>
   <TD>
     <DIV align=center>【<A
     href="javascript:window.close()">关闭窗口</A>】</DIV></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></BODY></HTML>

cnpjg 发表于 2004 年 12 月 10 日 00:39:48

谢了,长天!!!
已收藏!!!
页: [1]
查看完整版本: [讨论]用php代码生成韩名身份证