hldy_xcx/compontent/public/long.js

21 lines
819 B
JavaScript
Raw Normal View History

2025-09-15 17:23:33 +08:00
/**
* 将字符串中的 '9999-12-31' <-> '长期' 互换并返回修改后的字符串
* 同时存在两者时不会互相覆盖使用占位符处理
* @param {any} v - 期望传入 string string 将直接返回原值
* @returns {string|any} 修改后的字符串或原值 string
*/
export function swapLongTerm(v) {
if (typeof v !== 'string') return v;
const PLACEHOLDER = '__$LONGTERM_PLACEHOLDER$__';
// 用来把任意字符串安全地放进 RegExp 构造器
function escapeRegExp(s) {
return s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
}
return v
.replace(/9999\.12\.31/g, PLACEHOLDER) // 注意转义点 \.
.replace(/长期/g, '9999.12.31')
.replace(new RegExp(escapeRegExp(PLACEHOLDER), 'g'), '长期'); // 安全转义占位符
}