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 相关文章推荐
Jquery时间验证和转换工具小例子
Jul 01 Javascript
兼容ie、firefox的图片自动缩放的css跟js代码分享
Aug 12 Javascript
js实现网页倒计时、网站已运行时间功能的代码3例
Apr 14 Javascript
js实现进度条的方法
Feb 13 Javascript
jQuery制作可自定义大小的拼图游戏
Mar 30 Javascript
javascript实现rgb颜色转换成16进制格式
Jul 10 Javascript
window.onload绑定多个事件的两种解决方案
May 15 Javascript
Cpage.js给组件绑定事件的实现代码
Aug 31 Javascript
关于Vue组件库开发详析
Jul 01 Javascript
react 国际化的实现代码示例
Sep 14 Javascript
vue中的面包屑导航组件实例代码
Jul 01 Javascript
使用layui定义一个模块并使用的例子
Sep 14 Javascript
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 用sock技术发送邮件的函数
2007/07/21 PHP
php密码生成类实例
2014/09/24 PHP
PHP实现实时生成并下载超大数据量的EXCEL文件详解
2017/10/23 PHP
jquery关于图形报表的运用实现代码
2011/01/06 Javascript
Jquery为单选框checkbox绑定单击click事件
2012/12/18 Javascript
浅析js封装和作用域
2013/07/09 Javascript
常见的原始JS选择器使用方法总结
2014/04/09 Javascript
不使用ajax实现无刷新提交表单
2014/12/21 Javascript
javascript中callee与caller的区别分析
2015/04/20 Javascript
jQuery实现的鼠标经过时变宽的效果(附demo源码)
2016/04/28 Javascript
jQuery中fadein与fadeout方法用法示例
2016/09/16 Javascript
深入理解JS继承和原型链的问题
2016/12/17 Javascript
jQuery模拟下拉框选择对应菜单的内容
2017/03/07 Javascript
实例详解JSON取值(key是中文或者数字)方式
2017/08/24 Javascript
微信小程序实现的canvas合成图片功能示例
2019/05/03 Javascript
python list语法学习(带例子)
2013/11/01 Python
python利用MethodType绑定方法到类示例代码
2017/08/27 Python
pandas Dataframe行列读取的实例
2018/06/08 Python
对python读取CT医学图像的实例详解
2019/01/24 Python
python assert的用处示例详解
2019/04/01 Python
深入学习python多线程与GIL
2019/08/26 Python
python multiprocessing多进程变量共享与加锁的实现
2019/10/02 Python
python web框架Flask实现图形验证码及验证码的动态刷新实例
2019/10/14 Python
基于Python绘制美观动态圆环图、饼图
2020/06/03 Python
Python3自带工具2to3.py 转换 Python2.x 代码到Python3的操作
2021/03/03 Python
pytorch 计算Parameter和FLOP的操作
2021/03/04 Python
中国第一家杂志折扣订阅网:杂志铺
2016/08/30 全球购物
美国精油公司:Plant Therapy
2019/05/17 全球购物
香港艺人陈冠希创办的潮流品牌:JUICESTORE
2021/03/04 全球购物
大学生应聘自荐信
2013/10/11 职场文书
主题实践活动总结
2014/05/08 职场文书
庆国庆国旗下讲话稿2014
2014/09/21 职场文书
逃课检讨书怎么写
2015/01/01 职场文书
html+css 实现简易导航栏功能
2021/04/07 HTML / CSS
OpenCV-Python实现图像平滑处理操作
2021/06/08 Python
苹果M1芯片安装nginx 并且部署vue项目步骤详解
2021/11/20 Servers