以下为相关用法:
/** * 正整数,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}"/>