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随机生成信用卡卡号的方法的更多相关文章
- php信用卡卡号验证函数
介绍一个php信用卡卡号验证函数,可以验证一个卡号是否是信用卡. function validateCard ($cardnumber){ $cardnumber = preg_replace (&q ...
- 使用javascript随机生成斗地主玩家手牌
学习javascript估摸着有半个多月了,好歹自己有过编程基础,学的还算轻松,不过js里的面向对象是真的打脑壳,但都但不懂,和我以前学过的c#简直相差太远 今天写了个随机生成斗地主玩家手牌的代码,自 ...
- Python随机生成验证码的两种方法
Python随机生成验证码的方法有很多,今天给大家列举两种,大家也可以在这个基础上进行改造,设计出适合自己的验证码方法方法一:利用range Python随机生成验证码的方法有很多,今天给大家列举两种 ...
- JavaScript随机生成颜色以及十六进制颜色 与RGB颜色值的相互转换
/** * 随机生成颜色 * @return 随机生成的十六进制颜色 */ function randomColor(){ var colorStr=Math.floor(Math.random()* ...
- 使用JavaScript随机生成数字混合字母的验证码
<script> // 封装一个随机生成数字的函数 function random(a, b) { var n = Math.round(Math.random() * (a - b) ...
- 【JavaScript随机生成验证码及其颜色】
css样式: <style type="text/css"> /*给验证码设一个盒子*/ #yzm{ width: 120px; height: 50px; text- ...
- php生成唯一订单号的方法
第一种 $danhao = date('Ymd') . str_pad(mt_rand(1, 99999), 5, '0', STR_PAD_LEFT); 第二种 $danhao = date('Ym ...
- JavaScript随机生成布尔值
//方法一 var rand = Boolean(Math.round(Math.random())); conosole.log(rand) // 方法二: var arr = [true,fals ...
- PHP验证信用卡卡号函数
/** * 验证银行卡号是否是信用卡 * @param $cardnumber * @return bool */ function validateCard ($cardnumber) { $car ...
随机推荐
- PHP7.1扩展开发入门
第1步: 首先从官网下载了PHP源码http://am1.php.net/distributions/php-7.1.3.tar.bz2 第2步: 解压后可以看到根目录下面的ext文件夹里有ext_s ...
- HDOJ 2020 绝对值排序
#include<iostream> #include<cmath> #include<algorithm> #include<vector> usin ...
- Linux配置IP,安装yum源
ip addr 查看IP地址 通过 ip 命令加参数 addr 则是查看当前网卡的配置信息, 从下图中可以看出, 当前系统的 ens33 网卡并没有 ipv4 及 ipv6, 没有 ip地址 则只能说 ...
- Sharing Configuration in ASP.NET Core SPA Scenarios
https://blogs.msdn.microsoft.com/webdev/2017/10/27/sharing-configuration-in-asp-net-core-spa-scenari ...
- 01.String类字符串本质
String类是在java开发过程中,使用最最频繁的一个类,不管是 用户名 密码 还是http报文接收过来的数据,其本质就是字符序列 所以做为一个java开发者,我们要重点掌握好String的方法使用 ...
- (转)C#读取MAC的几种方法
原文地址:http://www.cnblogs.com/diulela/archive/2012/04/07/2436111.html 1 通过IPConfig命令读取MAC地址 ///<sum ...
- 用Python进行人脸识别
本文的模型使用了C++工具箱 dlib 基于深度学习的最新人脸识别方法,基于户外脸部数据测试库Labeled Faces in the Wild 的基准水平来说,达到了99.38%的准确率. dlib ...
- c# 测试运行时间毫秒级
, , , , , , )).Ticks) / ; /*代码*/ , , , , , , )).Ticks) / ; MessageBox.Show((currentMillis1 - current ...
- [Lua]table(一):打印与复制
一.打印table function PrintTable(tb) if type(tb) ~= "table" then print(tb) return end local c ...
- redis 连接超时。。
在虚拟机安装后.在项目中加入redis 想测试一下功能 然后在物理机死活连不上. 1.用物理机ping 虚拟机的IP 通.... 2.然后.把redis.conf 里面bind 0.0.0.0 依然没 ...