JavaScript随机生成信用卡卡号的方法


Posted in Javascript onApril 07, 2015

本文实例讲述了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程序设计有所帮助。

Javascript 相关文章推荐
用Javascript实现锚点(Anchor)间平滑跳转
Sep 08 Javascript
JavaScript 事件记录使用说明
Oct 20 Javascript
javascript 模式设计之工厂模式学习心得
Apr 27 Javascript
jQuery实现自定义下拉列表
Jan 05 Javascript
jQuery制作拼图小游戏
Jan 12 Javascript
基于Flowplayer打造一款免费的WEB视频播放器附源码
Sep 06 Javascript
jQuery+Ajax+PHP弹出层异步登录效果(附源码下载)
May 27 Javascript
jQuery获取table行数并输出单元格内容的实现方法
Jun 30 Javascript
jQuery.uploadify文件上传组件实例讲解
Sep 23 Javascript
AngularJS用户选择器指令实例分析
Nov 04 Javascript
收集前端面试题之url、href、src
Mar 22 Javascript
jQuery实现的模仿雨滴下落动画效果
Dec 11 jQuery
JavaScript实现信用卡校验方法
Apr 07 #Javascript
jQuery控制网页打印指定区域的方法
Apr 07 #Javascript
JavaScript使用指针操作实现约瑟夫问题实例
Apr 07 #Javascript
jquery.form.js实现将form提交转为ajax方式提交的方法
Apr 07 #Javascript
JavaScript中字符串分割函数split用法实例
Apr 07 #Javascript
JavaScript使用二分查找算法在数组中查找数据的方法
Apr 07 #Javascript
JavaScript给按钮绑定点击事件(onclick)的方法
Apr 07 #Javascript
You might like
如何判断php数组的维度
2013/06/10 PHP
PHP实现支付宝即时到账功能
2016/12/21 PHP
PHP中类型转换 ,常量,系统常量,魔术常量的详解
2017/10/26 PHP
ThinkPHP 5.x远程命令执行漏洞复现
2019/09/23 PHP
JQuery 将元素显示在屏幕的中央的代码
2010/02/27 Javascript
js 函数的副作用分析
2011/08/23 Javascript
ie支持function.bind()方法实现代码
2012/12/27 Javascript
js 实现菜单上下显示附效果图
2013/11/21 Javascript
jquery遍历筛选数组的几种方法和遍历解析json对象
2013/12/13 Javascript
制作jquery遮罩层效果导航菜单代码分享
2013/12/25 Javascript
js实现图片旋转的三种方法
2014/04/10 Javascript
jquery css 设置table的奇偶行背景色示例
2014/06/03 Javascript
JavaScript利用append添加元素报错的解决方法
2014/07/01 Javascript
jQuery fancybox在ie浏览器下无法显示关闭按钮的解决办法
2016/02/19 Javascript
通过JS获取Request.QueryString()参数的值实现方法
2016/09/27 Javascript
过期软件破解办法实例详解
2017/01/04 Javascript
JS实现图片预览的两种方式
2017/06/27 Javascript
初探Vue3.0 中的一大亮点Proxy的使用
2018/12/06 Javascript
vuex+axios+element-ui实现页面请求loading操作示例
2020/02/02 Javascript
微信小程序保存图片到相册权限设置
2020/04/09 Javascript
谈谈JavaScript令人迷惑的==与+
2020/08/31 Javascript
[14:20]刀塔大凶女神互压各路奇葩屌丝
2014/05/16 DOTA
[16:14]教你分分钟做大人:米拉娜(HEROS)
2014/11/24 DOTA
Python中除法使用的注意事项
2014/08/21 Python
Python读写Excel文件方法介绍
2014/11/22 Python
Python使用sax模块解析XML文件示例
2019/04/04 Python
Python3利用print输出带颜色的彩色字体示例代码
2019/04/08 Python
Python实现操纵控制windows注册表的方法分析
2019/05/24 Python
Python爬虫获取页面所有URL链接过程详解
2020/06/04 Python
python安装读取grib库总结(推荐)
2020/06/24 Python
花园仓库建筑:Garden Buildings Direct
2018/02/16 全球购物
领导四风问题整改措施思想汇报
2014/10/13 职场文书
2014年消防工作总结
2014/11/21 职场文书
酒店工程部岗位职责
2015/02/12 职场文书
计生个人工作总结
2015/02/28 职场文书
Python Pandas模块实现数据的统计分析的方法
2021/06/24 Python