Match By Rules
Supports multiple matching rules with corresponding masking operations, providing enhanced flexibility and customization capabilities.
ts
const config: Record<string, [string, string]> = {
// 2-digit pattern
'^[0-9]{2}$': ['^(.{1})(.*)$', '$1{{*$2}}'],
// 3+ digits pattern
'^[0-9]{3,}$': ['^(.{2})(.*)$', '$1{{*$2}}'],
// Default pattern
'^.*$': ['^(.*)$', '{{*$1}}'],
};
const rulesTestCases = [
{ input: '12', title: '2-digit number' },
{ input: '123456', title: '3+ digit number' },
{ input: 'abcdefg', title: 'Default pattern' },
];
rulesTestCases.forEach(({ input, title }) => {
console.log(title, maskText(input, config));
});
// 2-digit number: 1*
// 3+ digit number: 12****
// Default pattern: abcdefg