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 判断数组是否已包含了某个元素的函数
May 30 Javascript
精心挑选的12款优秀的基于jQuery的手风琴效果插件和教程
Aug 22 Javascript
Jquery Post处理后不进入回调的原因及解决方法
Jul 15 Javascript
Javascript使用uploadify来实现多文件上传
Nov 16 Javascript
fullCalendar中文API官方文档
Feb 07 Javascript
JS 组件系列之 bootstrap treegrid 组件封装过程
Apr 28 Javascript
JS实现简单短信验证码界面
Aug 07 Javascript
js的各种数据类型判断的介绍
Jan 19 Javascript
JS控制GIF图片的停止与显示
Oct 24 Javascript
javascript 数组精简技巧小结
Feb 26 Javascript
keep-alive保持组件状态的方法
Dec 02 Javascript
浅谈Web Storage API的使用
Jun 23 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
初品cakephp 入门基础
2012/02/16 PHP
PHPMailer邮件发送的实现代码
2013/05/04 PHP
php表单文件iframe异步上传实例讲解
2017/07/26 PHP
基于jquery的checkbox下拉框插件代码
2010/06/25 Javascript
10分钟学会写Jquery插件实例教程
2014/09/06 Javascript
JavaScript中Math.SQRT2属性的使用详解
2015/06/14 Javascript
AngularJS 单元测试(一)详解
2016/09/21 Javascript
详解js运算符单竖杠“|”与“||”的用法和作用介绍
2016/11/04 Javascript
JS创建Tag标签的方法详解
2017/06/09 Javascript
React-intl 实现多语言的示例代码
2017/11/03 Javascript
JavaScript继承的特性与实践应用深入详解
2018/12/30 Javascript
用Cordova打包Vue项目的方法步骤
2019/02/02 Javascript
基于Node.js的大文件分片上传示例
2019/06/19 Javascript
JS模拟浏览器实现全局搜索功能
2019/09/11 Javascript
适用于 Vue 的播放器组件Vue-Video-Player操作
2020/11/16 Javascript
手写Vue源码之数据劫持示例详解
2021/01/04 Vue.js
[41:17]完美世界DOTA2联赛PWL S3 access vs CPG 第二场 12.13
2020/12/17 DOTA
使用Python判断IP地址合法性的方法实例
2014/03/13 Python
python实现将汉字保存成文本的方法
2018/11/16 Python
python之Flask实现简单登录功能的示例代码
2018/12/24 Python
python实现简单聊天室功能 可以私聊
2019/07/12 Python
使用python实现男神女神颜值打分系统(推荐)
2019/10/31 Python
Python字典底层实现原理详解
2019/12/18 Python
opencv之颜色过滤只留下图片中的红色区域操作
2020/06/05 Python
安装python3.7编译器后如何正确安装opnecv的方法详解
2020/06/16 Python
strlen的几种不同实现方法
2013/05/31 面试题
医院护士求职自荐信格式
2013/09/21 职场文书
工程监理应届生求职信
2013/11/09 职场文书
污水厂厂长岗位职责
2014/01/04 职场文书
医学专业毕业生推荐信
2014/07/12 职场文书
七夕情人节问候语
2015/11/11 职场文书
Nginx本地目录映射实现代码实例
2021/03/31 Servers
解决redis sentinel 频繁主备切换的问题
2021/04/12 Redis
解决jupyter notebook启动后没有token的坑
2021/04/24 Python
MYSQL如何查看进程和kill进程
2022/03/13 MySQL
Python tensorflow卷积神经Inception V3网络结构
2022/05/06 Python