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>
javascript将数字四位分隔模拟银行卡号码代码实例

回复

我来回复
  • 暂无回复内容