news 2026/6/17 14:48:47

公司名称打码

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
公司名称打码
/** * 公司名称打码处理函数 * 覆盖场景: * 1. 空值/非字符串处理 * 2. 1-10+字不同长度策略 * 3. 包含特殊字符/空格的名称 * 4. 中英文混合名称(按字符长度处理) * 5. 边界值处理(如刚好4字、刚好8字等) * @param {string} name 原始公司名称 * @param {Object} [options] 可选配置 * @param {string} [options.maskChar=*] 打码字符 * @param {boolean} [options.keepSpecialChar=false] 是否保留特殊字符位置(仅打码汉字/字母) * @returns {string} 打码后的名称 */ const maskCompanyName = (name, options = {}) => { // 默认配置 const { maskChar = '*', keepSpecialChar = false } = options; // 1. 空值处理:null/undefined/空字符串/非字符串类型 if (!name || typeof name !== 'string') { return ''; } // 去除首尾空格(中间空格保留) const trimmedName = name.trim(); if (trimmedName.length === 0) { return ''; } const length = trimmedName.length; let maskedName = ''; // 2. 按长度分级处理(覆盖1-10+字所有场景) if (length === 1) { // 1个字:直接打码(避免泄露) maskedName = maskChar; } else if (length === 2) { // 2个字:首字显示 + 1个打码 maskedName = trimmedName.charAt(0) + maskChar; } else if (length === 3) { // 3个字:首字 + 1个打码 + 尾字 maskedName = trimmedName.charAt(0) + maskChar + trimmedName.charAt(2); } else if (length === 4) { // 4个字:首字 + 2个打码 + 尾字(核心优化点) maskedName = trimmedName.charAt(0) + maskChar.repeat(2) + trimmedName.charAt(3); } else if (length >= 5 && length <= 8) { // 5-8字:前2字 + 3个打码 + 尾2字 const prefix = trimmedName.substring(0, 2); const suffix = trimmedName.substring(length - 2); maskedName = `${prefix}${maskChar.repeat(3)}${suffix}`; } else if (length >= 9 && length <= 12) { // 9-12字:前3字 + 4个打码 + 尾3字 const prefix = trimmedName.substring(0, 3); const suffix = trimmedName.substring(length - 3); maskedName = `${prefix}${maskChar.repeat(4)}${suffix}`; } else { // 12字以上:前4字 + 5个打码 + 尾4字(超长名称) const prefix = trimmedName.substring(0, 4); const suffix = trimmedName.substring(length - 4); maskedName = `${prefix}${maskChar.repeat(5)}${suffix}`; } // 3. 特殊处理:保留特殊字符位置(如括号、横线等) if (keepSpecialChar) { const specialCharRegex = /[^a-zA-Z0-9\u4e00-\u9fa5]/; return trimmedName.split('').map((char, index) => { // 特殊字符保留原样,其他字符用打码结果替换 return specialCharRegex.test(char) ? char : maskedName[index] || maskChar; }).join(''); } return maskedName; }; // ================ 测试用例 ================ console.log("1字:", maskCompanyName("企")); // * console.log("2字:", maskCompanyName("企业")); // 企* console.log("3字:", maskCompanyName("企业家")); // 企*家 console.log("4字:", maskCompanyName("科技有限公司")); // 科**司 console.log("5字:", maskCompanyName("北京科技有限公司")); // 北京***公司 console.log("8字:", maskCompanyName("北京中关村科技有限公司")); // 北京***公司 console.log("9字:", maskCompanyName("北京中关村科技发展有限公司")); // 北京中****限公司 console.log("13字:", maskCompanyName("北京中关村科技发展集团股份有限公司")); // 北京中关村*****份有限公司 console.log("含特殊字符:", maskCompanyName("北京(中关村)科技有限公司", { keepSpecialChar: true })); // 北*(中***)限公司 console.log("空值:", maskCompanyName(null)); // "" console.log("空格:", maskCompanyName(" 企业 ")); // 企* console.log("自定义打码符:", maskCompanyName("科技有限公司", { maskChar: '#' })); // 科##司
const maskedCompanyName = maskCompanyName(originalName); console.log(maskedCompanyName);
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 17:42:57

2025 指纹浏览器 AI 行为模拟技术:从机械操作到真实用户行为复刻

技术背景平台风控系统已从 “静态指纹检测” 升级为 “行为序列分析”&#xff0c;传统指纹浏览器的机械化操作&#xff08;如固定间隔点击、匀速滚动&#xff09;成为被识别的核心诱因&#xff0c;即使指纹参数伪装完善&#xff0c;行为模式异常仍导致账号封禁率高达 20% 以上…

作者头像 李华
网站建设 2026/6/17 19:20:53

手把手玩转雷赛DMC运动控制卡

c#控制雷赛运动板卡源码DMC系列控制经典案例 功能介绍&#xff1a; 1.回原位&#xff0c;jog运动&#xff0c;速度控制&#xff0c;位置控制&#xff0c;自动流程控制 2.实时监控io点&#xff0c;报警记录&#xff0c;xml数据保存和修改。 3.参数设置&#xff0c;包括丝杠导程&…

作者头像 李华
网站建设 2026/6/15 13:10:46

三行代码搞定多变量时间序列预测?老司机带你玩转Lasso回归

基于lasso回归的多变量时间序列预测 lasso多变量时间序列 matlab代码注&#xff1a;暂无Matlab版本要求 -- 推荐 2018B 版本及以上当你在处理股票价格预测、气象数据预测这种自带"变量全家桶"的时间序列时&#xff0c;传统的ARIMA可能就有点力不从心了。这时候Lasso回…

作者头像 李华
网站建设 2026/6/17 19:21:12

第八届医教结合发展论坛在杭闭幕,共筑儿童心理健康系统支持新生态

12月9日&#xff0c;第八届医教结合发展论坛暨系统支持促进儿童心理发展专题研讨会在浙江大酒店圆满落幕。论坛汇聚医学、教育、心理等多领域顶尖专家&#xff0c;共同探讨如何通过系统性支持策略&#xff0c;全方位促进儿童青少年心理健康成长。论坛期间举行了多项具有重要意义…

作者头像 李华
网站建设 2026/6/17 16:15:51

如何用Python构建企业级应用架构?Cosmic Python终极指南

如何用Python构建企业级应用架构&#xff1f;Cosmic Python终极指南 【免费下载链接】book A Book about Pythonic Application Architecture Patterns for Managing Complexity. Cosmos is the Opposite of Chaos you see. OR. wouldnt actually let us call it "Cosmic …

作者头像 李华
网站建设 2026/6/16 22:22:54

CppCon 2024 学习: Design Patterns The Most Common Misconceptions (2 of N)

设计模式与虚函数 讨论集中在设计模式、虚函数以及如何优化继承层次结构的开销。以下是对CRTP&#xff08;Curiously Recurring Template Pattern&#xff09;和std::variant的详细分析。 继承层次结构的开销 在面向对象编程中&#xff0c;继承层次结构的使用通常会引入虚函数&…

作者头像 李华