<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>銀行卡 | 身份證 | 生成</title>
<script>
//獲取銀行卡號不包括LunmCode
function getBankCardWithoutLunmCode(bank_no) {
// bank_no 銀行代碼
//控制位數. 19位的銀行卡 cardinalNumber=12. 16位的銀行卡 cardinalNumber=9
var cardinalNumber = 12;
var prefix = "";
switch (bank_no) {
case "102":
prefix = "622202";
break;
case "103":
prefix = "622848";
break;
case "105":
prefix = "622700";
break;
case "301":
prefix = "622262";
break;
case "104":
prefix = "621661";
break;
case "303":
prefix = "622666";
cardinalNumber = 9;
break;
case "305":
prefix = "622622";
break;
case "306":
prefix = "622556";
break;
case "308":
prefix = "622588";
cardinalNumber = 9;
break;
case "410":
prefix = "622155";
break;
case "302":
prefix = "622689";
break;
case "304":
prefix = "622630";
break;
case "309":
prefix = "622908";
break;
case "310":
prefix = "621717";
break;
case "315":
prefix = "622323";
break;
case "316":
prefix = "622309";
break;
default:
return '';
}
//生成不包括Luhm校驗碼的銀行卡號
var bankCardWithoutLunmCode = prefix;
for (var j = 0; j < cardinalNumber; j++) {
bankCardWithoutLunmCode += Math.floor(Math.random() * 10);
}
console.log(prefix);
console.log(bankCardWithoutLunmCode);
return bankCardWithoutLunmCode;
}
// 獲取Luhn Code
function getLuhnCode(bankCardWithoutLunmCode) {
if (bankCardWithoutLunmCode == '') return '';
var no = bankCardWithoutLunmCode.split('').reverse().join('');
// 定義奇數/偶數數據
var addArr = new Array();
var evenArr = new Array();
// 奇數/偶數數組分開
for (var i = 0; i < no.length; i++) {
if (i % 2 == 0) {
addArr[i / 2] = no[i];
} else {
evenArr[(i - 1) / 2] = no[i];
}
}
//奇數數組內容x2
// 如果乘以2得到的數字是兩位,把這兩位相加得到一位數字.
// 如果相加后的內容時兩位數,減去9.
for (var i = 0; i < addArr.length; i++) {
var temp = parseInt(addArr[i]) * 2;
if (temp > 9) {
temp = parseInt(String(temp).charAt(0)) + parseInt(String(temp).charAt(1));
if (temp > 9) {
temp = temp - 9;
}
}
addArr[i] = temp;
}
//兩個數組合并
var arr = addArr.concat(evenArr);
var oddEvenCount = 0;
for (var i = 0; i < arr.length; i++) {
oddEvenCount += parseInt(arr[i]);
}
console.log(oddEvenCount);
//生成Lnhn code
var LuhnCode = oddEvenCount % 10 == 0 ? 0 : (10 - oddEvenCount % 10);
console.log(LuhnCode);
return LuhnCode;
}
function getBankCard(bank_no) {
var bankCardWithoutLunmCode = getBankCardWithoutLunmCode(bank_no);
var bankCard = bankCardWithoutLunmCode + getLuhnCode(bankCardWithoutLunmCode) + "";
console.log("銀行卡號:", bankCard);
return bankCard;
}
// 隨機生成姓名
function getName() {
var familyNames = new Array(
"趙", "錢", "孫", "李", "周", "吳", "鄭", "王", "馮", "陳",
"褚", "衛", "蔣", "沈", "韓", "楊", "朱", "秦", "尤", "許",
"何", "呂", "施", "張", "孔", "曹", "嚴", "華", "金", "魏",
"陶", "姜", "戚", "謝", "鄒", "喻", "柏", "水", "竇", "章",
"云", "蘇", "潘", "葛", "奚", "范", "彭", "郎", "魯", "韋",
"昌", "馬", "苗", "鳳", "花", "方", "俞", "任", "袁", "柳",
"酆", "鮑", "史", "唐", "費", "廉", "岑", "薛", "雷", "賀",
"倪", "湯", "滕", "殷", "羅", "畢", "郝", "鄔", "安", "常",
"樂", "于", "時", "傅", "皮", "卞", "齊", "康", "伍", "余",
"元", "卜", "顧", "孟", "平", "黃", "和", "穆", "蕭", "尹"
);
var givenNames = new Array(
"子璇", "淼", "國棟", "夫子", "瑞堂", "甜", "敏", "尚", "國賢", "賀祥", "晨濤",
"昊軒", "易軒", "益辰", "益帆", "益冉", "瑾春", "瑾昆", "春齊", "楊", "文昊",
"東東", "雄霖", "浩晨", "熙涵", "溶溶", "冰楓", "欣欣", "宜豪", "欣慧", "建政",
"美欣", "淑慧", "文軒", "文杰", "欣源", "忠林", "榕潤", "欣汝", "慧嘉", "新建",
"建林", "亦菲", "林", "冰潔", "佳欣", "涵涵", "禹辰", "淳美", "澤惠", "偉洋",
"涵越", "潤麗", "翔", "淑華", "晶瑩", "凌晶", "苒溪", "雨涵", "嘉怡", "佳毅",
"子辰", "佳琪", "紫軒", "瑞辰", "昕蕊", "萌", "明遠", "欣宜", "澤遠", "欣怡",
"佳怡", "佳惠", "晨茜", "晨璐", "運昊", "汝鑫", "淑君", "晶瀅", "潤莎", "榕汕",
"佳鈺", "佳玉", "曉慶", "一鳴", "語晨", "添池", "添昊", "雨澤", "雅晗", "雅涵",
"清妍", "詩悅", "嘉樂", "晨涵", "天赫", "玥傲", "佳昊", "天昊", "萌萌", "若萌"
);
var i = parseInt(Math.random() * 100);
var familyName = familyNames[i];
var j = parseInt(Math.random() * 100);
var givenName = givenNames[i];
var name = familyName + givenName;
console.log("姓名", name);
return name;
}
// 生成隨機身份證號
function getId_no() {
var coefficientArray = ["7", "9", "10", "5", "8", "4", "2", "1", "6", "3", "7", "9", "10", "5", "8", "4", "2"]; // 加權因子
var lastNumberArray = ["1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2"]; // 校驗碼
var address = "420101"; // 住址
var birthday = "19810101"; // 生日
var s = Math.floor(Math.random() * 10).toString() + Math.floor(Math.random() * 10).toString() + Math.floor(Math.random() * 10).toString();
var array = (address + birthday + s).split("");
var total = 0;
for (i in array) {
total = total + parseInt(array[i]) * parseInt(coefficientArray[i]);
}
var lastNumber = lastNumberArray[parseInt(total % 11)];
var id_no_String = address + birthday + s + lastNumber;
console.log("身份證", id_no_String);
return id_no_String;
}
window.onload = function() {
// 獲取select的選中項
var checkedBankNo = document.getElementsByName("bank_no")[0].value;
// 獲取生成卡號的按鈕
var generateBankcard = document.getElementById("generateBankcard");
generateBankcard.onclick = function() {
// 獲取卡號文本框
var bankcard = document.getElementById("bankcard");
// 獲取select的選中項
var checkedBankNo = document.getElementsByName("bank_no")[0].value;
bankcard.value = getBankCard(checkedBankNo);
}
// 生成身份證號碼
var generateIdentity = document.getElementById("generateIdentity");
generateIdentity.onclick = function() {
var identity = document.getElementById("identity");
identity.value = getId_no();
}
// 生成隨機姓名
var generateName = document.getElementById("generateName");
generateName.onclick = function() {
var name = document.getElementById("name");
name.value = getName();
}
}
</script>
</head>
<body>
<div id="bankInfo">
<p>
<span>選擇銀行</span>
<select name="bank_no" id="">
<option value="104">中國銀行</option>
<option value="103">農業銀行</option>
<option value="102">工商銀行</option>
<option value="105">建設銀行</option>
<option value="301">交通銀行</option>
<option value="100">中國郵政儲蓄銀行</option>
<option value="308">招商銀行</option>
<option value="310">浦發銀行</option>
<option value="309">興業銀行</option>
<option value="303">光大銀行</option>
<option value="306">廣發銀行</option>
<!-- <option value="308">平安銀行</option> -->
<option value="304">華夏銀行</option>
<option value="305">民生銀行</option>
<option value="302">中信銀行</option>
<!-- <option value="308">上海銀行</option> -->
<!-- <option value="308">鄂爾多斯銀行</option> -->
</select>
<input id="generateBankcard" type="button" value="生成卡號">
<input id="bankcard" type="text" placeholder="銀行卡號">
</p>
</div>
<div id="identityInfo">
<p>
<span>身份證號碼</span>
<input id="generateIdentity" type="button" value="生成身份證號碼">
<input id="identity" type="text" placeholder="隨機身份證號碼..">
</p>
</div>
<div id="nameInfo">
<p>
<span>名字</span>
<input id="generateName" type="button" value="生成名字">
<input id="name" type="text" placeholder="隨機姓名..">
</p>
</div>
</body>
</html>
總結
以上是生活随笔為你收集整理的银行卡信息生成的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。