JS使用正则控制用户输入银行卡号及格式化

//js正则实现用户输入银行卡号的控制及格式化

<script language="javascript" type="text/javascript">
function formatBankNo (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;
}
</script>
<input type="text" value="" size="25" onkeyup="formatBankNo(this)" onkeydown="formatBankNo(this)" name="account" id="account">

以上所述是小编给大家介绍的JS使用正则控制用户输入银行卡号及格式化,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • JS中正则表达式全局匹配模式 /g用法详解

    本文章来详细介绍js中正则表达式的全局匹配模式 /g用法,代码如下: var str = "123#abc"; var re = /abc/ig; console.log(re.test(str)); //输出ture console.log(re.test(str)); //输出false console.log(re.test(str)); //输出ture console.log(re.test(str)); //输出false 在创建正则表达式对象时如果使用了"g&q

  • js中string之正则表达式replace方法详解

    replace方法是javascript涉及到正则表达式中较为复杂的一个方法,严格上说应该是string对象的方法.只不过牵扯到正则的时候比较多一些.需要我们灵活的使用. 语法: stringObj.replace(regexp/substr,replacement): 第一个参数:必需.字符串中要替换的子串或正则RexExp: 第二个参数:必需,一个字符串值,规定了替换文本或生成替换文本的函数. 返回值:注意它的返回值是一个新的字符串,并没有更改原有字符串,是用 replacement 替换了

  • js jquery验证银行卡号信息正则学习

    jquery代码 复制代码 代码如下: $("#bankAccountNumber").change(function(){ alert("1"); var account = $("channelForm.bankAccount.account").val(); alert("2"); var reg = /^\d{19}$/g; // 以19位数字开头,以19位数字结尾 if( !reg.test(account) ) {

  • JavaScript的正则也有单行模式了

    正则表达式最早是由 Ken Thompson 于 1970 年在他改进过的 QED 编辑器里实现的,正则里最简单的元字符 "." 在当时所匹配的就是除换行符外的任意字符: "." is a regular expression which matches any character except <nl>. 上面这句话出自 QED 在 1970 年的官方文档,这可能是史上第一份正则文档. 为什么要这么规定?是因为 QED 是以行为单位来编辑文件的,而且行

  • JS使用正则控制用户输入银行卡号及格式化

    //js正则实现用户输入银行卡号的控制及格式化 <script language="javascript" type="text/javascript"> function formatBankNo (BankNo){ if (BankNo.value == "") return; var account = new String (BankNo.value); account = account.substring(0,22); /

  • python3.4控制用户输入与输出的方法

    一.输入 1.函数格式:input() 2.函数功能:接受一个标准输入数据,返回string类型.ctrl+z结束输入. 3.实例: 默认input():等待一个任意字符的输入 str=input('input a string:\n'):接受输入数据作为string类型传给str,\n为提示信息换行. 4.接受多个数据输入,使用eval()函数,间隔符必须是逗号 >>> lines ['', '', '', '84', '2', '3', ''] >>> a,b,c=

  • js用正则表达式控制价格输入实现代码

    用正则表达式控制价格输入 var record={ num:"" } var checkDecimal=function(n){ var decimalReg=/^\d{0,8}\.{0,1}(\d{1,2})?$/;//var decimalReg=/^[-\+]?\d{0,8}\.{0,1}(\d{1,2})?$/; if(n.value!=""&&decimalReg.test(n.value)){ record.num=n.value; }e

  • JS控制只能输入数字并且最多允许小数点两位

    下面通过一段代码给大家介绍JS控制只能输入数字并且最多允许小数点两位,具体代码如下所示: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <input type="text" name="

  • 判断用户输入的银行卡号是否正确的方法(基于Luhn算法的格式校验)

    开发中,有时候,为了打造更好的用户体验,同时减轻服务器端的压力,需要对于一些如,手机号码,银行卡号,身份证号码进行格式校验 下面是判断银行卡号输入是否正确的代码(基于Luhn算法的格式校验): iOS代码: /** * 银行卡格式校验 * * @param cardNo 银行卡号 * * @return */ + (BOOL) checkCardNo:(NSString*) cardNo{ int oddsum = 0; //奇数求和 int evensum = 0; //偶数求和 int al

  • JS+PHP实现用户输入数字后显示最大的值及所在位置

    本文主要给大家介绍的是关于JS+PHP实现用户输入数字后显示最大的值及所在位置的相关内容,目的:分清JS PHP的区别,拓宽思维,下面来一起看看详细的介绍: 分析 1.利用JS的prompt输入用户想要输入的值. 2.利用HTML表单的text标签将输入的值传递给PHP处理文件 3.PHP进行数值判定,选出最大值和位置. 由浅入深: 1.在JS实现获取数组的最大值. var a=[10,20,40,30]; // var max=0; var max=a[0]; for(var i=0;i<a.

  • JS仿淘宝搜索框用户输入事件的实现

    淘宝是我们经常用的一个网上购物平台,打开淘宝网首页,找到淘宝首页的搜索框,如下如所示: 大家可以看到,当页面一打开,搜索框中就可以看到灰色字体"少女高跟鞋",还有闪烁的光标.当用户点击输入的时候,灰色字消失.当用户清空文本框的所有内容的时候,灰色字自动恢复. 接下来,这个小案例就是要介绍如何实现这种效果,即用户输入事件. 判断用户输入的事件有 oninput 和onpropertychange .当然,想必你能想到,由于浏览器兼容的问题,他们出现的场合有所不同. 正常浏览器支持onin

  • JS不用正则验证输入的字符串是否为空(包含空格)的实现代码

    在项目中需要验证输入的字符串是否为空,包括空格,不太喜欢使用正则,所以就想到了js的indexOf函数,indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置,如果要检索的字符串值没有出现,则该方法返回 -1. 语法:stringObject.indexOf(searchvalue,fromindex),searchvalue必需,fromindex:可选参数,在字符串中开始检索的位置.它的合法取值是 0 到 stringObject.length - 1.如省略该参数,则将从

  • JS实现根据用户输入分钟进行倒计时功能

    废话不多说了,直接给大家贴代码了.具体代码如下所示: 其实这倒计时之前有接触过很多,只是用的都是别人的源码. 应项目需求,终于认真一回,把一个自己看似很简单的问题,终于耗上了跨度一个星期的时间,才弄出来. 源码直接复制黏贴可用. 冗余版+简化版. <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title></title&

  • js中判断用户输入的值是否为空的简单实例

    在js中判断用户输入的值是否为空,这是大家用得非常多的. 这没有什么好写的. 而我却写了. 原因只是自以为是的认为我的这些代码写得不错, 供大家参考一下. 这是摘自的我一个项目的中的用户注册页面.对于大多数人来说,这都几乎是100%经历过的.贴代码吧,这些代码都是用js写的. 不难,很容易看懂. 看的时候,只要区别两个js类就行了.前台页面代码:reguser.aspx 复制代码 代码如下: <%@ Page language="c#" Codebehind="RegU

随机推荐