You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JavaScript中实现指定规则的字符串掩码处理?

JavaScript Masking Solution for Names & Numbers

Based on your specified masking rules, here's a straightforward, easy-to-use JavaScript implementation with dedicated helper functions for names and numeric strings:

Masking Names

Rule: Keep only the first and last characters, replace all middle characters with asterisks (*).

function maskName(name) {
  // Handle edge cases: empty string, single character, or two-character names
  if (name.length <= 2) return name;
  // Combine first char, asterisks for middle, and last char
  return name[0] + '*'.repeat(name.length - 2) + name.at(-1);
}

Masking Numbers

Rule: Keep the first 3 characters and last 4 characters, replace the middle segment with asterisks (*).

function maskNumber(number) {
  // Handle edge case: numbers shorter than 7 characters (can't split into first 3 + last 4)
  if (number.length < 7) return number;
  // Calculate middle length, then build masked string
  const middleLength = number.length - 3 - 4;
  return number.slice(0, 3) + '*'.repeat(middleLength) + number.slice(-4);
}

Full Example Usage

Here’s how to apply these functions to get your exact expected output:

// Original values
const name = "Smith";
const name2 = "Kithmatch";
const number = "342782828";
const number2 = "012221112230";

// Apply masking
const maskedName = maskName(name); // "S***h"
const maskedName2 = maskName(name2); // "K*******h"
const maskedNumber = maskNumber(number); // "342**2828"
const maskedNumber2 = maskNumber(number2); // "012*****2230"

// Log results to match your desired format
console.log(`const name = "${maskedName}"`);
console.log(`const name2 = "${maskedName2}"`);
console.log(`const number = "${maskedNumber}"`);
console.log(`const number2 = "${maskedNumber2}"`);

Quick Edge Case Notes

  • For names with 2 or fewer characters (e.g., "Jo" or "Z"), the function returns the original string since there’s no middle content to mask.
  • For numbers shorter than 7 characters (e.g., "12345"), the function returns the original string—you can tweak this logic if you need a different behavior for shorter numeric inputs.

内容的提问来源于stack exchange,提问作者DD DD

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 21:52:43