JavaScript随机生成信用卡卡号的方法
这段JS代码根据信用卡卡号产生规则随机生成信用卡卡号,是可以通过验证的,仅供学习参考,请不要用于非法用途,否则后果自负。
var visaPrefixList = new Array("4539","4556", "4916", "4532", "4929", "40240071", "4485", "4716", "4" ); var mastercardPrefixList = new Array( "51", "52", "53", "54", "55" ); var amexPrefixList = new Array( "34", "37" ); var discoverPrefixList = new Array("6011"); var dinersPrefixList = new Array( "300", "301", "302", "303", "36", "38" ); var enRoutePrefixList = new Array( "2014", "2149" ); var jcbPrefixList = new Array( "35" ); var voyagerPrefixList = new Array("8699"); function strrev(str) { if (!str) return ''; var revstr=''; for (i = str.length-1; i>=0; i--) revstr+=str.charAt(i) return revstr; } /* 'prefix' is the start of the CC number as a string, any number of digits. 'length' is the length of the CC number to generate. Typically 13 or 16 */ function completed_number(prefix, length) { var ccnumber = prefix; // generate digits while ( ccnumber.length < (length - 1) ) { ccnumber += Math.floor(Math.random()*10); } // reverse number and convert to int var reversedCCnumberString = strrev( ccnumber ); var reversedCCnumber = new Array(); for ( var i=0; i < reversedCCnumberString.length; i++ ) { reversedCCnumber[i] = parseInt(reversedCCnumberString.charAt(i)); } // calculate sum var sum = 0; var pos = 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; } // calculate check digit var checkdigit = ((Math.floor(sum/10)+1)*10-sum)%10; ccnumber += checkdigit; return ccnumber; } function credit_card_number(prefixList, length, howMany) { var result = new Array(); for (var i = 0; i < howMany; i++) { var randomArrayIndex = Math.floor(Math.random() * prefixList.length); var ccnumber = prefixList[ randomArrayIndex ]; result.push( completed_number(ccnumber, length) ); } return result; }
调用方法:
将上面的代码保存为gencc.js文件
<html> <head> <script src="gencc.js" type="text/javascript"></script> </head> <body> <h3>VISA:</h3> <script> var visa = credit_card_number(visaPrefixList, 16, 3); document.write( visa ); </script> <h3>Amex:</h3> <script> var amex = credit_card_number(amexPrefixList, 15, 3); document.write( amex ); </script> </body> </html>
希望本文所述对大家的javascript程序设计有所帮助。
转载于:https://www.cnblogs.com/tsql/p/7340084.html
JavaScript随机生成信用卡卡号的方法相关推荐
- .NET Core 如何生成信用卡卡号
点击上方蓝字关注"汪宇杰博客" 导语 上个月我写了<.NET Core 如何验证信用卡卡号>,不少朋友表示挺有兴趣.在金融科技行业的实际工作中,通常还需要生成信用卡卡号 ...
- Python-字典练习(随机生成银行卡卡号)
题目要求: 随机生成100个卡号: 卡号以6102009开头, 后面3位依次是 (001, 002, 003, 100>), 生成关于银行卡号的字典, 默认每个卡号的初始密码为"red ...
- php 卡号算法,PHP实现通过Luhn算法校验信用卡卡号是否有效_PHP
本文实例讲述了PHP实现通过Luhn算法校验信用卡卡号是否有效的方法.分享给大家供大家参考.具体实现方法如下: $numbers = "49927398716 49927398717 123 ...
- 【项目实战二】基于模板匹配和形态学操作的信用卡卡号识别(OpenCV+Python)
前言:信用卡卡号识别技术的发展有利于提高银行系统的业务水平和办事效率.相信此次通过学习使用OpenCV中的图像处理方法来实现信用卡卡号识别的项目,能让大家清楚地了解图像处理技术的一般方法与步骤以及如何 ...
- php订单怎么生成,四种PHP生成唯一订单号的方法
这几天一直在写个人使用的用户中心,虽然期间遇到不少的问题,但还是一点点的都解决了,也从制作期间学到不少的知识,今天就说一说利用PHP生成订单单的方法. 订单号,大家都不陌生,无论从在网上购物,还是在线 ...
- php验证卡号,PHP验证信用卡卡号是否正确函数
这篇文章主要介绍了PHP验证信用卡卡号是否正确函数,本文直接给出实现代码,需要的朋友可以参考下 可以使用以下PHP函数,,验证一个卡号是否是信用卡: function validateCard ( $ ...
- “此网站使用的安全性配置已过时,这可能会导致您的信息(例如密码、消息或信用卡卡号)”
浏览器报错内容和截图: 您的连接存在安全隐患: 此网站使用的安全性配置已过时,这可能会导致您的信息(例如密码.消息或信用卡卡号) . 解决办法: 是将网站的TLS升级为安全的1.2
- 招商银行信用卡卡号识别项目(第一篇),Python OpenCV 图像处理取经之旅第 53 篇
Python OpenCV 365 天学习计划,与橡皮擦一起进入图像领域吧.本篇博客是这个系列的第 53 篇. 该系列文章导航参考:https://blog.csdn.net/hihell/categ ...
- 此网站使用的安全性配置已过时,这可能会导致您的信息(例如密码、消息或信用卡卡号)谷歌打不开https网站
浏览器报错内容和截图: 您的连接存在安全隐患: 此网站使用的安全性配置已过时,这可能会导致您的信息(例如密码.消息或信用卡卡号) . 在这里插入图片描述 解决办法: 是将网站的TLS升级为安全的1.2 ...
- php信用卡卡号验证函数
介绍一个php信用卡卡号验证函数,可以验证一个卡号是否是信用卡. function validateCard ($cardnumber) {$cardnumber = preg_replace (&q ...
最新文章
- 老王学linux-centos6.7drbd8.4.3
- matlab优化应用
- 人工机器:基于视觉的机械手控制
- 架构设计之「 微服务入门 」
- 【JS】JavaScript复制内容到剪贴板
- 面试题(9)之 leetcode-189
- 数据结构和算法详解(二)——线性表(数组、链表、栈、队列)
- linux otl oracle数据库连接例子
- php电子病历毕业设计,电子病历管理系统的设计毕业论文.doc
- html另存word或excel,excel另存为word
- 师资博后是个什么样的职位?
- APP离线后,通过SystemClock.elapsedRealtime()校正时间
- 一个服务器放多个网站seo,服务器建立多个网站 同一IP对SEO有影响吗
- hexeditor作用_Hex编辑器Free Hex Editor Neo
- C语言基础级——标准输入和输出
- C++ Reference: Standard C++ Library reference: C Library: cmath: erf
- python注释可用于表明作者和版权信息_Python-注释帮助我们理解-No9
- bandit(13-34)
- 计算一个有向图中出度为零和入度为零的顶点个数
- Marp之制作PPT神器(程序员的定制版PPT)