bank_card.js

  1 function init() {
  2     undefined = "undefined";
  3     mkCClist();
  4 }
  5 
  6 function ccchk(cdi) {
  7     output1 = "";
  8     if (cdi != "" && cdi != null) {
  9         output1 = "Processing...";
 10         var cf = sbtString(cdi, " -/abcdefghijklmnopqrstuvwyzABCDEFGHIJLMNOPQRSTUVWYZ|\#()[]{}?%&=!?+*.,;:'");
 11         var cn = chkCard(cf);
 12         var clcd = chkLCD(cf);
 13         var clcdt = "NOT PASSED";
 14         if (clcd) {
 15             clcdt = "PASSED";
 16         }
 17         var ccck = chkCCCksum(cf, cn);
 18         var ccckt = "NOT PASSED";
 19         if (ccck) {
 20             ccckt = "PASSED";
 21         }
 22         var cjd = "INVALID CARD NUMBER";
 23         if (clcd && ccck) {
 24             cjd = "This card number appears to be valid.";
 25         }
 26         var out = "";
 27         out += "Card type       : " + cn + "\n";
 28         out += "CCChecksum      : " + ccckt + "\n";
 29         out += "Luhn Check Digit: " + clcdt + "\n";
 30         out += cjd;
 31         output1 = out;
 32     }
 33 }
 34 
 35 function ccngen(p, tr) {
 36     tr *= 1.0;
 37     if (tr < 1 || tr == null) {
 38         tr = 1;
 39     }
 40     output2 = "";
 41     if (p != "" && p != null) {
 42         var cn = chkCard(p);//去掉非数字
 43         for (var i = tr; i >= 1; i--) {
 44             output2 = "Processing... " + i;
 45             var cdi = sbtStringSpRnd(p, "x", "0123456789");  //非x保留,x替换为一个0-9的随机数
 46             var cf = sbtString(cdi, " -/abcdefghijklmnopqrstuvwyzABCDEFGHIJLMNOPQRSTUVWYZ");//数字保留字母去掉
 47             var clcd = chkLCD(cf);
 48             var ccck = chkCCCksum(cf, cn);
 49             if (clcd && ccck) {
 50                 break;
 51             }
 52         }
 53         var out = "Couldn't find any valid number for given pattern";
 54         if (clcd && ccck) {
 55             var cn = chkCard(cdi);
 56             var ccnspc = "";
 57    //         for (var j = 0; j <= 3; j++) {
 58    //             if (document.console.ccnsp.options[j].selected) {
 59    //                 break;
 60    //             }
 61             }
 62 //            if (j == 1) {
 63 //                ccnspc = " ";
 64 //            }
 65 //            if (j == 2) {
 66 //                ccnspc = "-";
 67 //            }
 68             var cdif = "";
 69             for (var i = 1; i <= cdi.length; i++) {
 70                 var aS = midS(cdi, i, 1);
 71                 if (aS == " ") {
 72                     aS = ccnspc;
 73                 }
 74                 cdif += aS;
 75             }
 76             var out =  cdif;
 77         }
 78         output2 = out;
 79         return output2;
 80     }
 81 
 82 
 83 function chgccp() {
 84     mkCClist();
 85 //    for (var j = 0; j <= tw - 1; j++) {
 86 //        if (document.console.ccpp.options[j].selected) {
 87 //            break;
 88 //        }
 89 //    }
 90 //    document.console.ccp.value = c[j + 1];
 91 }
 92 
 93 function chkCard(cdi) {
 94     cdi += "";
 95     if (c[1] == undefined || c[1] == null || c[1] == "") {
 96         mkCClist();
 97     }
 98     var ccn = 0;
 99     var cn = "unknown"
100     var cf = sbtString(cdi, " -/abcdefghijklmnopqrstuvwyzABCDEFGHIJLMNOPQRSTUVWYZ");//去掉非数字
101     if (leftS(cf, 1) == "4") {
102         cf = leftS(cf, 8);
103     }
104     for (var i = 1; i <= tw; i++) {
105         var cct = sbtString(c[i], " -/abcdefghijklmnopqrstuvwyzABCDEFGHIJLMNOPQRSTUVWYZ");
106         if (leftS(cf, 1) == "4") {
107             cct = leftS(cct, 8);
108         }
109         var ccc = cmpPattern(cf, cct);
110         if (ccc) {
111             ccn = i;
112             break;
113         }
114     }
115     if (ccn > 0) {
116         cn = cd[i];
117     }
118     return cn;
119 }
120 
121 function chkCCCksum(cf, cn) {
122     var r = false;
123     var w = "21";
124     // if (linstr(cn,"AmEx") || linstr(cn,"Diner")) {var w="12";}
125     var ml = "";
126     var j = 1;
127     for (var i = 1; i <= cf.length - 1; i++) {
128         var m = midS(cf, i, 1) * midS(w, j, 1);
129         m = sumDigits(m);
130         ml += "" + m;
131         j++;
132         if (j > w.length) {
133             j = 1;
134         }
135     }
136     var ml2 = sumDigits(ml, -1);
137     var ml1 = (sumDigits(ml2, -1) * 10 - ml2) % 10;
138     if (ml1 == rightS(cf, 1)) {
139         r = true;
140     }
141     return r;
142 }
143 
144 function chkLCD(cf) {
145     var r = false;
146     cf += "";
147     var bl = isdiv(cf.length, 2);
148     var ctd = 0;
149     for (var i = 1; i <= cf.length; i++) {
150         var cdg = midS(cf, i, 1);
151         if (isdiv(i, 2) != bl) {
152             cdg *= 2;
153             if (cdg > 9) {
154                 cdg -= 9;
155             }
156         }
157         ctd += cdg * 1.0;
158     }
159     if (isdiv(ctd, 10)) {
160         r = true;
161     }
162     return r;
163 }
164 
165 function mkCClist() {
166     tw = 2;
167     c = new makeArray(tw);
168     cd = new makeArray(tw);
169     var i = 1;
170     c[i] = "622202360547xxxxxxx";
171     cd[i] = "工商银行";
172     i++;
173     c[i] = "622617310xxxxxxx";
174     cd[i] = "民生银行";
175     i++;
176 }
177 
178 // Powered by MilkieX - http://www.ElfQrin.com
179 function leftS(aS, n) {//截取参数一中参数二个字符返回
180     aS += "";
181     var rS = "";
182     if (n >= 1) {
183         rS = aS.substring(0, n);
184     }
185     return rS;
186 }
187 
188 function rightS(aS, n) {
189     aS += "";
190     var rS = "";
191     if (n >= 1) {
192         rS = aS.substring(aS.length - n, aS.length);
193     }
194     return rS;
195 }
196 
197 function midS(aS, n, n2) {
198     aS += "";
199     var rS = "";
200     if (n2 == null || n2 == "") {
201         n2 = aS.length;
202     }
203     n *= 1;
204     n2 *= 1;
205     if (n < 0) {
206         n++;
207     }
208     rS = aS.substring(n - 1, n - 1 + n2);
209     return rS;
210 }
211 
212 function linstr(aS, bS) {
213     aS += "";
214     bS += "";
215     var r = false;
216     if (leftS(aS, bS.length) == bS) {
217         r = true;
218     }
219     return r;
220 }
221 
222 function sbtString(s1, s2) {//参数1 中的字符在参数2中没有时 将该字符追加到返回值中
223     var ous = "";
224     s1 += "";
225     s2 += "";
226     for (var i = 1; i <= s1.length; i++) {
227         var c1 = s1.substring(i - 1, i);
228         var c2 = s2.indexOf(c1);
229         if (c2 == -1) {
230             ous += c1;
231         }
232     }
233     return ous;
234 }
235 
236 
237 function sbtStringSpRnd(s1, s2, bS) {
238     if (bS == null || bS == "") {
239         bS = "0123456789";
240     }
241     var ous = "";
242     bS += "";
243     for (var i = 1; i <= s1.length; i++) {
244         var c1 = s1.substring(i - 1, i);//从头开始截取参数1
245         var c2 = s2.indexOf(c1);//从参数一中截取的字符在参数二中的位置
246         if (c2 == -1) {
247             ous += c1;//如果参数二中没有参数1中截取的字符则将该字符存入ous,否则存入mids('0123456789',random(1,9),1)
248             //mids取参数1的第参数二位到参数二加参数三位,这他妈不就是0-9随便取一个数吗?
249         } else {
250             ous += midS(bS, Math.floor(Math.random() * (bS.length - 1)) + 1, 1);
251         }
252     }
253     return ous;
254 }
255 
256 function cmpPattern(a, p, x) {
257     if (x == "" || x == null) {
258         x = "x";
259     }
260     x = "" + x.substring(0, 1);
261     a += "";
262     p += "";
263     r = false;
264     mc = 0;
265     if (a.length == p.length) {
266         for (var i = 1; i <= a.length; i++) {
267             a1 = midS(a, i, 1);
268             p1 = midS(p, i, 1);
269             if (a1 == p1 || p1 == x) {
270                 mc++;
271             }
272         }
273     }
274     if (mc == a.length) {
275         r = true;
276     }
277     return r;
278 }
279 
280 function isdiv(a, b) {
281     if (b == null) {
282         b = 2;
283     }
284     a *= 1.0;
285     b *= 1.0;
286     var r = false;
287     if (a / b == Math.floor(a / b)) {
288         r = true;
289     }
290     return r;
291 }
292 
293 function sumDigits(n, m) {
294     if (m == 0 || m == null) {
295         m = 1;
296     }
297     n += "";
298     if (m > 0) {
299         while (n.length > m) {
300             var r = 0;
301             for (var i = 1; i <= n.length; i++) {
302                 r += 1.0 * midS(n, i, 1);
303             }
304             n = "" + r;
305         }
306     } else {
307         for (var j = 1; j <= Math.abs(m); j++) {
308             var r = 0;
309             for (var i = 1; i <= n.length; i++) {
310                 r += 1.0 * midS(n, i, 1);
311             }
312             n = "" + r;
313         }
314     }
315     r = n;
316     return r;
317 }
318 
319 function makeArray(n) {
320     this.length = n;
321     for (var i = 1; i <= n; i++) {
322         this[i] = 0;
323     }
324     return this;
325 }
326 
327 // End of MilkieX
328 //var dl=""+document.location; dl=dl.toLowerCase(); if (dl.substring(0,22)!="http://www.elfqrin.com" && dl.substring(0,16)!="file:///c|/data/") {window.location="/";}
329 init();
330 
331 result=ccngen("622617310xxxxxxx","1000");
332 OUT.println(result);
333 vars.put("BANKCARD_NO",result);

 

 

  1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  2 <HTML><HEAD><TITLE>银行卡号生成器</TITLE>
  3 <meta http-equiv="Content-Type" content="text/html; charset=GB2312" />
  4 <meta content="all" name="robots" />
  5 <meta name="author" content="Sunny V" />
  6 <meta name="Contact" content="tool.la@gmail.com" />
  7 <meta name="Copyright" content="www.Tool.La" />
  8 <link rel="icon" href="/favicon.ico" type="image/x-icon" />
  9 <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
 10 <STYLE type=text/css>
 11 HTML BODY TABLE {
 12     FONT-WEIGHT: normal; FONT-SIZE: 12px; COLOR: #7777ee; FONT-FAMILY: Verdana,Arial,Helvetica; TEXT-DECORATION: none
 13 }
 14 .edgenormal {
 15     FONT-WEIGHT: normal; FONT-SIZE: 12px; COLOR: #7777ee; FONT-FAMILY: Verdana,Arial,Helvetica; TEXT-DECORATION: none
 16 }
 17 .edgebig {
 18     FONT-WEIGHT: bold; FONT-SIZE: 16px; FONT-FAMILY: Verdana,Arial,Helvetica; TEXT-DECORATION: none
 19 }
 20 .edgeboardctitle {
 21     FONT-WEIGHT: bold; FONT-SIZE: 14px; FONT-FAMILY: Verdana,Arial,Helvetica; TEXT-DECORATION: none
 22 }
 23 .edgeatitle {
 24     FONT-WEIGHT: bold; FONT-SIZE: 18px; FONT-FAMILY: Verdana,Arial,Helvetica; TEXT-DECORATION: none
 25 }
 26 .edgeatext {
 27     FONT-WEIGHT: normal; FONT-SIZE: 13px; FONT-FAMILY: Verdana,Arial,Helvetica; TEXT-DECORATION: none
 28 }
 29 .edgeasubj {
 30     FONT-WEIGHT: normal; FONT-SIZE: 14px; FONT-STYLE: italic; FONT-FAMILY: Verdana,Arial,Helvetica; TEXT-DECORATION: none
 31 }
 32 .edgeadate {
 33     FONT-WEIGHT: normal; FONT-SIZE: 8pt; FONT-STYLE: normal; FONT-FAMILY: Verdana,Arial,Helvetica; TEXT-DECORATION: none
 34 }
 35 .edgestitle {
 36     FONT-WEIGHT: bold; FONT-SIZE: 14px; FONT-FAMILY: Verdana,Arial,Helvetica; TEXT-DECORATION: none
 37 }
 38 .edgestext {
 39     FONT-WEIGHT: normal; FONT-SIZE: 12px; FONT-FAMILY: Verdana,Arial,Helvetica; TEXT-DECORATION: none
 40 }
 41 .edgessubj {
 42     FONT-WEIGHT: normal; FONT-SIZE: 8pt; FONT-STYLE: normal; FONT-FAMILY: Verdana,Arial,Helvetica; TEXT-DECORATION: none
 43 }
 44 .edgedotitle {
 45     FONT-WEIGHT: bold; FONT-SIZE: 14px; BACKGROUND: #000000; FONT-FAMILY: Verdana,Arial,Helvetica; TEXT-DECORATION: none
 46 }
 47 .edgesmall {
 48     FONT-SIZE: 8pt; FONT-FAMILY: arial,helvetica; TEXT-DECORATION: none
 49 }
 50 .edgemenu {
 51     FONT-WEIGHT: bold; FONT-SIZE: 8pt; FONT-FAMILY: arial,helvetica; TEXT-DECORATION: none
 52 }
 53 .edgemenuborder {
 54     BORDER-RIGHT: black 1px solid; PADDING-RIGHT: 3px; BORDER-TOP: black 1px solid; PADDING-LEFT: 3px; FONT-WEIGHT: bold; FONT-SIZE: 8pt; BACKGROUND: #242424; PADDING-BOTTOM: 3px; BORDER-LEFT: black 1px solid; PADDING-TOP: 3px; BORDER-BOTTOM: black 1px solid; FONT-FAMILY: arial,helvetica; TEXT-DECORATION: none
 55 }
 56 .selectinput {
 57     BORDER-TOP-WIDTH: 1px; BORDER-LEFT-WIDTH: 1px; FONT-SIZE: 8pt; BORDER-LEFT-COLOR: #7777ee; BORDER-BOTTOM-WIDTH: 1px; BORDER-BOTTOM-COLOR: #7777ee; COLOR: #7777ee; BORDER-TOP-COLOR: #7777ee; FONT-FAMILY: arial,helvetica; BACKGROUND-COLOR: #000000; BORDER-RIGHT-WIDTH: 1px; BORDER-RIGHT-COLOR: #7777ee
 58 }
 59 .submitinput {
 60     BORDER-TOP-WIDTH: 1px; FONT-WEIGHT: bold; BORDER-LEFT-WIDTH: 1px; FONT-SIZE: 8pt; BORDER-LEFT-COLOR: #7777ee; BORDER-BOTTOM-WIDTH: 1px; BORDER-BOTTOM-COLOR: #7777ee; COLOR: #7777ee; BORDER-TOP-COLOR: #7777ee; FONT-FAMILY: arial,helvetica; BACKGROUND-COLOR: #000000; BORDER-RIGHT-WIDTH: 1px; BORDER-RIGHT-COLOR: #7777ee
 61 }
 62 UL {
 63     PADDING-RIGHT: 0px; MARGIN-TOP: 0px; PADDING-LEFT: 0px; MARGIN-BOTTOM: 0px; PADDING-BOTTOM: 0px; MARGIN-LEFT: 15px; PADDING-TOP: 0px
 64 }
 65 .STYLE1 {
 66     COLOR: #ff0000
 67 }
 68 .STYLE2 {
 69     font-size: 14px;
 70     font-weight: bold;
 71 }
 72 </STYLE>
 73 <META content="MSHTML 6.00.2800.1106" name=GENERATOR>
 74 </HEAD>
 75 <BODY>
 76 <link href="../css/tool.css" rel="stylesheet" type="text/css" />
 77 <link href="/css/css.css" rel="stylesheet" type="text/css" />
 78 <DIV align="center">
 79 <div id="title_tabs">
 80 
 81 </div>
 82 <div align="center" class="title_div">
 83 
 84 <!-- <div style="padding-bottom:2px;" class="ad-daohang">
 85 <script type="text/javascript">google_ad_client = "pub-5323028865159648";
 86 google_ad_slot = "6221500675";
 87 google_ad_width = 728;
 88 google_ad_height = 15;
 89 //
 90 </script>
 91 <script type="text/javascript"
 92 src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
 93 </script>
 94 </div> -->
 95 </div>
 96 </DIV><noscript><iframe src=*></iframe></noscript> <SCRIPT language=JavaScript>if(self!=top){top.location=self.location;}</SCRIPT>
 97 <SCRIPT language=JavaScript>
 98 
 99 <!-- Copyright (C) 2000 Valerio Capello (valcap@thepentagon.com)
100 
101     function init() {
102     undefined = "undefined";
103     mkCClist();
104 }
105 
106 function ccchk(cdi) {
107     document.console.output1.value = "";
108     if (cdi != "" && cdi != null) {
109         document.console.output1.value = "Processing...";
110         var cf = sbtString(cdi, " -/abcdefghijklmnopqrstuvwyzABCDEFGHIJLMNOPQRSTUVWYZ|\#()[]{}?%&=!?+*.,;:'");
111         var cn = chkCard(cf);
112         var clcd = chkLCD(cf);
113         var clcdt = "NOT PASSED"; 
114         if (clcd) { 
115             clcdt = "PASSED"; 
116         }
117         var ccck = chkCCCksum(cf, cn);
118         var ccckt = "NOT PASSED"; 
119         if (ccck) { 
120             ccckt = "PASSED"; 
121         }
122         var cjd = "INVALID CARD NUMBER"; 
123         if (clcd && ccck) { 
124             cjd = "This card number appears to be valid."; 
125         }
126         var out = "";
127         out += "Card type       : " + cn + "\n";
128         out += "CCChecksum      : " + ccckt + "\n";
129         out += "Luhn Check Digit: " + clcdt + "\n";
130         out += cjd;
131         document.console.output1.value = out;
132     }
133 }
134 
135 function ccngen(p, tr) {
136     tr *= 1.0; 
137     if (tr < 1 || tr == null) { 
138         tr = 1; 
139     }
140     document.console.output2.value = "";
141     if (p != "" && p != null) {
142         var cn = chkCard(p);
143         for (var i = tr; i >= 1; i--) {
144             document.console.output2.value = "Processing... " + i;
145             var cdi = sbtStringSpRnd(p, "x", "0123456789");
146             //var cdi = "6222023605478244406";
147             var cf = sbtString(cdi, " -/abcdefghijklmnopqrstuvwyzABCDEFGHIJLMNOPQRSTUVWYZ");
148             
149             var clcd = chkLCD(cf);
150             var ccck = chkCCCksum(cf, cn);
151             if (clcd && ccck) { 
152                 break; 
153             }
154         }
155         var out = "Couldn't find any valid number for given pattern";
156         if (clcd && ccck) {
157             var cn = chkCard(cdi);
158             var ccnspc = "";
159             for (var j = 0; j <= 3; j++) {
160                 if (document.console.ccnsp.options[j].selected) { 
161                     break; 
162                 }
163             }
164             if (j == 1) { 
165                 ccnspc = " "; 
166             }
167             if (j == 2) { 
168                 ccnspc = "-"; 
169             }
170             var cdif = "";
171             for (var i = 1; i <= cdi.length; i++) {
172                 var aS = midS(cdi, i, 1); 
173                 if (aS == " ") { 
174                     aS = ccnspc; 
175                 }
176                 cdif += aS;
177             }
178             var out = "Valid " + cn + " # found:\n" + cdif;
179         }
180         document.console.output2.value = out;
181     }
182 }
183 
184 function chgccp() {
185     mkCClist();
186     for (var j = 0; j <= tw - 1; j++) {
187         if (document.console.ccpp.options[j].selected) { 
188             break;
189         }
190     }
191     document.console.ccp.value = c[j + 1];
192 }
193 
194 function chkCard(cdi) {
195     cdi += "";
196     if (c[1] == undefined || c[1] == null || c[1] == "") { 
197         mkCClist(); 
198     }
199     var ccn = 0; 
200     var cn = "unknown"
201     var cf = sbtString(cdi, " -/abcdefghijklmnopqrstuvwyzABCDEFGHIJLMNOPQRSTUVWYZ");
202     if (leftS(cf, 1) == "4") { 
203         cf = leftS(cf, 8); 
204     }
205     for (var i = 1; i <= tw; i++) {
206         var cct = sbtString(c[i], " -/abcdefghijklmnopqrstuvwyzABCDEFGHIJLMNOPQRSTUVWYZ");
207         if (leftS(cf, 1) == "4") { 
208             cct = leftS(cct, 8); 
209         }
210         var ccc = cmpPattern(cf, cct);
211         if (ccc) { 
212             ccn = i; 
213             break; 
214         }
215     }
216     if (ccn > 0) { 
217         cn = cd[i]; 
218     }
219     return cn;
220 }
221 
222 function chkCCCksum(cf, cn) {
223     var r = false;
224     var w = "21";
225     // if (linstr(cn,"AmEx") || linstr(cn,"Diner")) {var w="12";}
226     //ml为卡号除了最后一位的所有位置上的数 奇数位乘以2取结果的各个位上的数字之和,偶数位不变
227     var ml = "";
228     var j = 1;
229     for (var i = 1; i <= cf.length - 1; i++) {
230         //m为卡号奇数位乘以2,卡号偶数位乘以1
231         var m = midS(cf, i, 1) * midS(w, j, 1);
232         //如果m的长度大于1则取每个位置上的数的总和
233         m = sumDigits(m);
234         ml += "" + m;
235         j++; 
236         if (j > w.length) { 
237             j = 1; 
238         }
239     }
240     //ml2为ml全部位上的数值之和
241     var ml2 = sumDigits(ml, -1);
242     //ml1为 ml2全部位上的数值之和*10-ml2 然后除以10的余数
243     var ml1 = (sumDigits(ml2, -1) * 10 - ml2) % 10;
244     //如果ml1为卡号最后一位则返回true
245     if (ml1 == rightS(cf, 1)) { 
246         r = true; 
247     }
248     return r;
249 }
250 
251 function chkLCD(cf) {
252     var r = false; 
253     cf += "";
254     //bl为卡号长度是否能被2整除
255     var bl = isdiv(cf.length, 2);
256     var ctd = 0;
257     for (var i = 1; i <= cf.length; i++) {
258         //cdg为卡号的每一位数字
259         var cdg = midS(cf, i, 1);
260         //如果位数的奇偶和卡号长度的奇偶不一致则cdg等于卡号位于该位的数字乘以2
261         if (isdiv(i, 2) != bl) {
262             cdg *= 2; 
263             //如果cdg大于9,则cdg等于cdg-9
264             if (cdg > 9) { 
265                 cdg -= 9; 
266             }
267         }
268         
269         ctd += cdg * 1.0;
270     }
271     //如果ctd能被10整除则返回true
272     if (isdiv(ctd, 10)) { 
273         r = true; 
274     }
275     return r;
276 }
277 
278 function mkCClist() {
279     tw = 4;
280     c = new makeArray(tw); 
281     cd = new makeArray(tw);
282     var i = 1;
283     c[i] = "622202360547xxxxxxx"; 
284     cd[i] = "工商银行"; i++;
285     c[i] = "622617310xxxxxxx"; 
286     cd[i] = "民生银行"; i++;
287     c[i] = "621799290001xxxxxxx"; 
288     cd[i] = "邮政储蓄银行"; i++;
289     c[i] = "621790080000xxxxxxx"; 
290     cd[i] = "中国银行"; i++;
291 }
292 
293 // Powered by MilkieX - http://www.ElfQrin.com
294 
295 function leftS(aS, n) {
296     aS += "";
297     var rS = "";
298     if (n >= 1) {
299         rS = aS.substring(0, n);
300     }
301     return rS;
302 }
303 
304 function rightS(aS, n) {
305     aS += "";
306     var rS = "";
307     if (n >= 1) {
308         rS = aS.substring(aS.length - n, aS.length);
309     }
310     return rS;
311 }
312 
313 function midS(aS, n, n2) {
314     aS += "";
315     var rS = "";
316     if (n2 == null || n2 == "") { 
317         n2 = aS.length; 
318     }
319     n *= 1; 
320     n2 *= 1;
321     if (n < 0) { 
322         n++; 
323     }
324     rS = aS.substring(n - 1, n - 1 + n2);
325     return rS;
326 }
327 
328 function linstr(aS, bS) {
329     aS += ""; 
330     bS += "";
331     var r = false;
332     if (leftS(aS, bS.length) == bS) { 
333         r = true; 
334     }
335     return r;
336 }
337 
338 function sbtString(s1, s2) {
339     var ous = ""; 
340     s1 += ""; 
341     s2 += "";
342     for (var i = 1; i <= s1.length; i++) {
343         var c1 = s1.substring(i - 1, i);
344         var c2 = s2.indexOf(c1);
345         if (c2 == -1) { 
346             ous += c1; 
347         }
348     }
349     return ous;
350 }
351 
352 function sbtStringSpRnd(s1, s2, bS) {
353     if (bS == null || bS == "") { 
354         bS = "0123456789"; 
355     }
356     var ous = "";
357     bS += "";
358     for (var i = 1; i <= s1.length; i++) {
359         var c1 = s1.substring(i - 1, i);
360         var c2 = s2.indexOf(c1);
361         if (c2 == -1) { 
362             ous += c1; 
363         } else { 
364             ous += midS(bS, Math.floor(Math.random() * (bS.length - 1)) + 1, 1); 
365         }
366     }
367     return ous;
368 }
369 
370 function cmpPattern(a, p, x) {
371     if (x == "" || x == null) { 
372         x = "x"; 
373     }
374     x = "" + x.substring(0, 1); 
375     a += ""; 
376     p += "";
377     r = false; mc = 0;
378     if (a.length == p.length) {
379         for (var i = 1; i <= a.length; i++) {
380             a1 = midS(a, i, 1); 
381             p1 = midS(p, i, 1);
382             if (a1 == p1 || p1 == x) { 
383                 mc++; 
384             }
385         }
386     }
387     if (mc == a.length) { 
388         r = true; 
389     }
390     return r;
391 }
392 
393 function isdiv(a, b) {
394     if (b == null) { 
395         b = 2; 
396     }
397     a *= 1.0; 
398     b *= 1.0;
399     var r = false;
400     if (a / b == Math.floor(a / b)) { 
401         r = true; 
402     }
403     return r;
404 }
405 
406 function sumDigits(n, m) {
407     if (m == 0 || m == null) { 
408         m = 1; 
409     }
410     n += "";
411     if (m > 0) {
412         while (n.length > m) {
413             var r = 0;
414             for (var i = 1; i <= n.length; i++) {
415                 r += 1.0 * midS(n, i, 1);
416             }
417             n = "" + r;
418         }
419     } else {
420         for (var j = 1; j <= Math.abs(m); j++) {
421             var r = 0;
422             for (var i = 1; i <= n.length; i++) {
423                 r += 1.0 * midS(n, i, 1);
424             }
425             n = "" + r;
426         }
427     }
428     r = n;
429     return r;
430 }
431 
432 function makeArray(n) {
433     this.length = n;
434     for (var i = 1; i <= n; i++) { 
435         this[i] = 0; 
436     }
437     return this;
438 }
439 
440 // End of MilkieX
441 
442 //var dl=""+document.location; dl=dl.toLowerCase(); if (dl.substring(0,22)!="http://www.elfqrin.com" && dl.substring(0,16)!="file:///c|/data/") {window.location="/";}
443 
444 init();
445 
446 // -->
447 </SCRIPT>
448 
449 <CENTER>
450 <FORM name=console>
451 <DIV align=center><TT><FONT color=#ee0000><span class="STYLE2">银行卡号生成器</span>
452 </FONT></TT></DIV>
453 
454 <P class="STYLE2">生成银行卡号 
455 <P>Choose Pattern<BR><SELECT onchange=chgccp(); name=ccpp> 
456   <SCRIPT language=JavaScript>
457 <!--
458 for (i=1;i<=tw;i++) {
459 if (i!=1) {document.writeln("<OPTION>"+cd[i]);} else {document.writeln("<OPTION SELECTED>"+cd[i]);}
460 }
461 // -->
462 </SCRIPT>
463 </SELECT> <BR><INPUT maxLength=24 size=24 name=ccp> 
464 <P>间隔: <SELECT name=ccnsp> <OPTION>(无)<OPTION 
465   selected>(空格)<OPTION>-</OPTION></SELECT> <br>&nbsp;&nbsp;&nbsp; <!-- Max tries: --><INPUT type=hidden size=4 value=1000 name=tr> 
466 <P><INPUT onclick=ccngen(document.console.ccp.value,document.console.tr.value); type=button value=生成> 
467 
468 <P><TEXTAREA name=output2 rows=3 wrap=VIRTUAL cols=58></TEXTAREA> 
469 <P>
470 <HR width="75%">
471 
472 <SCRIPT language=JavaScript>
473 <!--
474 chgccp();
475 // -->
476 </SCRIPT>
477 
478 <HR width="75%">
479 
480 <P class=STYLE1>警告:此工具只供学习及研究之用,不得用于其他非法用途!你已经同意此条款,由此产生的问题本站概不负责!</P>
481 </CENTER>
482 <script language="javascript" src="/JS/Copy.js"></script>
483 <!-- 网站底部代码 -->
添加注释

 

posted @ 2018-08-17 12:29  xiaodebing  阅读(553)  评论(0编辑  收藏  举报