haw-utils
Version:
一个基于业务场景的工具方法库
60 lines (59 loc) • 1.97 kB
JavaScript
(function (global, factory) {
if (typeof define === "function" && define.amd) {
define(["exports"], factory);
} else if (typeof exports !== "undefined") {
factory(exports);
} else {
var mod = {
exports: {}
};
factory(mod.exports);
global.formatBankCard = mod.exports;
}
})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports) {
"use strict";
Object.defineProperty(_exports, "__esModule", {
value: true
});
_exports["default"] = void 0;
/**
* 格式化银行卡号
*
* @static
* @alias module:Processor.formatBankCard
* @since 1.1.0
* @param {String} str 要处理的字符串
* @param {Object} [options] 配置项
* @param {String} [options.char=' '] 间隔字符
* @param {Number} [options.length=4] 间隔长度
* @returns {String} 格式化的银行卡号
* @example
*
* // 19位银行卡
* formatBankCard('6228480402564890018');
* // => 6228 4804 0256 4890 018
*
* // 16位银行卡
* formatBankCard('6228480402564890');
* // => 6228 4804 0256 4890
*
* // 16位银行卡,"-"间隔
* formatBankCard('6228480402564890', {char: '-'});
* // => 6228-4804-0256-4890
*
*/
function formatBankCard() {
var bankCardNo = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
_ref$char = _ref["char"],
_char = _ref$char === void 0 ? ' ' : _ref$char,
_ref$length = _ref.length,
length = _ref$length === void 0 ? 4 : _ref$length;
var reg = new RegExp("(\\d{".concat(length, "})"), 'g');
var needRemoveLastChar = bankCardNo.length % length === 0;
var str = bankCardNo.replace(reg, "$1".concat(_char));
return needRemoveLastChar ? str.substr(0, str.length - 1) : str;
}
var _default = formatBankCard;
_exports["default"] = _default;
});