javascript将数字四位分隔模拟银行卡号码代码实例
分类:实例代码
如果大家观察仔细,就会发现银行卡的上号码都是每四位一分隔。
这么做当然是很人性化的,如果是一长串排列下拉,那可读性简直差的没法形容。
下面就分享一个能够实现此功能的代码:
<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.pipipi.net/" /> <title>前端教程网</title> <script type="text/javascript"> function func (BankNo){ if (BankNo.value == "") return; var account = new String(BankNo.value); /*帐号的总数, 包括空格在内 */ account = account.substring(0,22); if (account.match (".[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{7}") == null){ /* 对照格式 */ if (account.match(".[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{7}|" + ".[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{7}|" + ".[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{7}|" + ".[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{7}") == null){ var accountNumeric = accountChar = "", i; for (i=0;i<account.length;i++){ accountChar = account.substr (i,1); if (!isNaN(accountChar) && (accountChar != " ")) accountNumeric = accountNumeric + accountChar; } account = ""; for (i=0;i<accountNumeric.length;i++){ if (i == 4) account = account + "-"; /* 帐号第四位数后加空格 */ if (i == 8) account = account + "-"; /* 帐号第八位数后加空格 */ if (i == 12) account = account + "-";/* 帐号第十二位后数后加空格 */ account = account + accountNumeric.substr (i,1) } } }else{ account = " " + account.substring(1, 5) + " " + account.substring(6, 10) + " " + account.substring(14, 18) + "-" + account.substring(18, 25); } if (account != BankNo.value) BankNo.value = account; } function checkBankNo (BankNo){ if (BankNo.value == "") return; if (BankNo.value.match (".[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{7}") == null){ if (BankNo.value.match ("[0-9]{19}") != null) func (BankNo) } } function checkEnterForFindListing(e){ var characterCode; if(e && e.which){ e = e; characterCode = e.which ; } else{ e = event; characterCode = e.keyCode; } if(characterCode == 22){ document.forms[getNetuiTagName("findListingForm")].submit(); return false; } else{ return true ; } } window.onload = function () { var otxt = document.getElementById("account"); otxt.onkeyup = function () { func(this); } } </script> </head> <body> <input type="text" size="25" id="account"/> </body> </html>
一线大厂高级前端编写,前端初中阶面试题,帮助初学者应聘,需要联系微信:javadudu