Mav*_*ick 1 javascript credit-card node.js
在Node中,我需要在渲染视图层之前将信用卡变成这样的东西:************1234.
没有环和丑陋是否有一个实用工具或一个班轮为此?信用卡可能会看到以下方式之一:
1234567898765432
1234-5678-9876-5432
1234 5678 9876 5432
Run Code Online (Sandbox Code Playgroud)
这是Ramda和一些RegEx 的一种方式:
var ensureOnlyNumbers = R.replace(/[^0-9]+/g, '');
var maskAllButLastFour = R.replace(/[0-9](?=([0-9]{4}))/g, '*');
var hashedCardNumber = R.compose(maskAllButLastFour, ensureOnlyNumbers);
hashedCardNumber('1234567898765432'); // ************5432
Run Code Online (Sandbox Code Playgroud)
演示:http://jsfiddle.net/7odv6kfk/
小智 5
不需要正则表达式:
var cc='1234-5678-9012-3456';
var masked = '************'+cc.substr(-4); // ************3456
Run Code Online (Sandbox Code Playgroud)
如果最后四位数字是连续的,则适用于任何格式。