<template>
  <div>{{maskLoanAndAmountByKeyword(row.content)}}</div>
</template>
<script setup>
  const props = defineProps({
    row: Object
  })
function maskLoanAndAmountByKeyword(str) {
  // Che mã đơn vay sau từ "đơn vay"
  let result = str.replace(/(đơn vay\s+)([A-Z]{2})(\d+)(\d{3})/gi, (m, prefix, letters, middle, last3) => {
    return prefix + letters + '*'.repeat(middle.length) + last3;
  });

  // Che mã đơn vay sau từ "khoản vay"
  result = result.replace(/(khoản vay\s+)([A-Z]{2})(\d+)(\d{3})/gi, (m, prefix, letters, middle, last3) => {
    return prefix + letters + '*'.repeat(middle.length) + last3;
  });

  // Che số tiền sau từ "số tiền"
  result = result.replace(/(số tiền\s+)(\d{1,3}(?:,\d{3})*)/gi, (m, prefix, amount) => {
    const digits = amount.replace(/,/g, '');
    if (digits.length <= 3) return prefix + amount;
    const masked = '*'.repeat(digits.length - 3) + digits.slice(-3);

    // thêm lại dấu phẩy từ phải sang
    const parts = [];
    for (let i = masked.length; i > 0; i -= 3) {
      const start = Math.max(0, i - 3);
      parts.unshift(masked.slice(start, i));
    }
    return prefix + parts.join(',');
  });

  return result;
}
</script>
