JavaScript正则表达式实例

JS正则基础知识: http://www.blogjava.net/onejavaer/articles/79070.html
以下为相关用法:
/**
 * 正整数,0
 * @param num
 * @returns
 */
function checkNum(num){
	var regExpCheck = new RegExp("^[1-9]\\d*|0$");
	return regExpCheck.test(num);
}
/**
 * 电话号码
 * @param phone
 * @returns
 */
function checkPhone(phone){
	var regExpCheck = new RegExp("^(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$");
	return regExpCheck.test(phone);
}
/**
 * 整数,float
 * @param money
 * @returns
 */
function checkMoney(money){
	var regExpCheck = new RegExp("^[1-9]\\d*\\.\\d*|0\\.\\d*|[1-9]\\d*$");
	return regExpCheck.test(money);
}
/**
 * 格式化银行卡号
 * 4555 6888 5999 4777 888
 * @param BankNo
 */
function formatBankNo (BankNo){
    if (BankNo.value == "") {
    	return;
    }
    var account = new String (BankNo.value);
    account = account.substring(0,23); /*帐号的总数, 包括空格在内 */
    /* alert("init:"+account) */
    /* 对照格式 */
     if (account.match ("[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{3}") ==null){
        /* alert("match:"+account.match ("[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{3}")); */
        var accountNumeric = "";
        var	accountChar = "";
        var 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 + " ";/* 帐号第十二位后数后加空格 */
            if (i == 16) account = account + " ";/* 帐号第十六位后数后加空格 */
            account = account + accountNumeric.substr (i,1);
          }
      /* alert("end:"+account) */
    }
    else
    {
        account = account.substring (1,5) + "-" + account.substring (6,10) + "-" + account.substring (14,18) + "-" + account.substring(18,22)+ "-" + account.substring(22,25);
        /* alert("else:"+account) */
    }
    if (account != BankNo.value) {
    	BankNo.value = account;
    }
}

银行卡号格式化用法:
<input type="text" id="accountNum"  name="accountNum"  maxlength="24" style="width:200px" onkeyup="formatBankNo(this)" onkeydown="formatBankNo(this)" placeholder="账号不能为空" vld="{number:true,required:true}"/>

猜你喜欢

转载自donald-draper.iteye.com/blog/2305293