JavaScript随机生成信用卡卡号的方法
本文实例讲述了JavaScript随机生成信用卡卡号的方法。分享给大家供大家参考。具体分析如下:
这段JS代码根据信用卡卡号产生规则随机生成信用卡卡号,是可以通过验证的,仅供学习参考,请不要用于非法用途,否则后果自负。
varvisaPrefixList=newArray( "4539", "4556", "4916", "4532", "4929", "40240071", "4485", "4716", "4" ); varmastercardPrefixList=newArray( "51", "52", "53", "54", "55" ); varamexPrefixList=newArray( "34", "37" ); vardiscoverPrefixList=newArray("6011"); vardinersPrefixList=newArray( "300", "301", "302", "303", "36", "38" ); varenRoutePrefixList=newArray( "2014", "2149" ); varjcbPrefixList=newArray( "35" ); varvoyagerPrefixList=newArray("8699"); functionstrrev(str){ if(!str)return''; varrevstr=''; for(i=str.length-1;i>=0;i--) revstr+=str.charAt(i) returnrevstr; } /* 'prefix'isthestartoftheCCnumberasastring, anynumberofdigits. 'length'isthelengthoftheCCnumbertogenerate. Typically13or16 */ functioncompleted_number(prefix,length){ varccnumber=prefix; //generatedigits while(ccnumber.length<(length-1)){ ccnumber+=Math.floor(Math.random()*10); } //reversenumberandconverttoint varreversedCCnumberString=strrev(ccnumber); varreversedCCnumber=newArray(); for(vari=0;i<reversedCCnumberString.length;i++){ reversedCCnumber[i]=parseInt(reversedCCnumberString.charAt(i)); } //calculatesum varsum=0; varpos=0; while(pos<length-1){ odd=reversedCCnumber[pos]*2; if(odd>9){ odd-=9; } sum+=odd; if(pos!=(length-2)){ sum+=reversedCCnumber[pos+1]; } pos+=2; } //calculatecheckdigit varcheckdigit=((Math.floor(sum/10)+1)*10-sum)%10; ccnumber+=checkdigit; returnccnumber; } functioncredit_card_number(prefixList,length,howMany){ varresult=newArray(); for(vari=0;i<howMany;i++){ varrandomArrayIndex=Math.floor(Math.random()* prefixList.length); varccnumber=prefixList[randomArrayIndex]; result.push(completed_number(ccnumber,length)); } returnresult; }
调用方法:
将上面的代码保存为gencc.js文件
<html> <head> <scriptsrc="gencc.js"type="text/javascript"></script> </head> <body> <h3>VISA:</h3> <script> varvisa=credit_card_number(visaPrefixList,16,3); document.write(visa); </script> <h3>Amex:</h3> <script> varamex=credit_card_number(amexPrefixList,15,3); document.write(amex); </script> </body> </html>
希望本文所述对大家的javascript程序设计有所帮助。