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">
时间: 2024-07-30 13:52:00

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

js打印保存用户输入的内容

在用js打印局部页面时,遇到用户新输入的内容没能打印出来,经过观察,发现我采用的js打印方法是读取页面源代码,而用户输入的内容如果不将其写入到页面源代码中去,是打印不出来的,下面是我的解决方法: //获取标签自身 jQuery.fn.outerHTML = function (s) { return (s) ? this.before(s).remove() : $("<Hill_man>").append(this.eq(0).clone()).html(); }; St

正则验证用户输入的是否是数字

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title></head><body><input type="text" style="width:200px;height:30px;" id="name&q

js如何验证用户输入的只能是数字?

方法一如果判断输入的是否是数字,如果不是数字弹出一个提示:简易代码如下:<body><input type="text" id="inp"></table></body><script> var oInp = document.getElementById('inp'); oInp.onblur=function(){ if(isNaN(Number(oInp.value))){  //当输入不是数字的时候

正则表达式控制Input输入内容 ,js正则验证方法大全

https://blog.csdn.net/xushichang/article/details/4041507 正则表达式控制Input输入内容 2009年04月01日 17:15:00 阅读数:21747 不能输入中文 <input type="text" name="textfield"  onkeyup="this.value=this.value.replace(/[^/da-z_]/ig,'');"/>只能输入 数字和下划

关于用户输入恶意js

有些黑客经常闲得蛋疼的那别人的网站测试,利用一些输入的漏洞提交js代码,搞恶作剧. 对于freemarker视图的web应用,可以参考以下方法: http://yshjava.iteye.com/blog/1870320 https://my.oschina.net/greki/blog/83246 如果是其他视图,可以在ajax提交前过滤一下代码: function htmlEncodeJQ ( obj ) { for (var p=0;p<obj.length;p++){ if(typeof

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

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

用js正则判断输入的两位字符,第一位是数字16进制的,第二位是I、O、Q、U除外的字母(A到Z)

项目中遇到客户的需求变化,要验证某个数据的正确性,判断输入的两位字符,第一位是数字16进制的,第二位是I.O.Q.U除外的字母(A到Z). 本来对js不熟练,网上参考了一下js正则验证的规则,使用正则表达式完成了这个验证. 1 function check() { 2 var str = document.getElementById("txtEnglishName").value; 3 var reg=/^[0-9a-fA-F][^IOQU]$/; 4 if (str.length!

JS实现图片验证码功能——用户输入验证码

copy以下两部分代码即可实现: 1.html <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script src="./gVerify.js"></script> <style type="text/css"> body, html {

JS高级---案例:验证用户输入的是不是中文名字

案例:验证用户输入的是不是中文名字 [\u4e00-\u9fa5] <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>title</title> </head> <body> 请输入您的名字:<input type="text" value="&q