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

JavaScript如何实现对引号包裹的文本进行打码替换

引号包裹内容打码实现方法

你不需要改动HTML和CSS代码,只需要调整JS里的匹配逻辑即可,核心是把原来的关键词匹配规则替换为双引号内容匹配规则:

  • 删除原有预设关键词数组的相关逻辑
  • 使用正则全局匹配所有成对双引号包裹的文本片段
  • 复用已有的等长X替换逻辑,把匹配到的引号+内部内容整体替换为和内部文本等长的X即可

修改后的完整JS代码

var div = document.getElementById('formSub');

function censorWords(event) {
    event.preventDefault();
    var textContent = document.getElementById('input');
    console.log(textContent.value)
    textContent.value = censored(textContent.value);
}

function censored(string) {
    console.log('in')
    // 全局匹配所有英文双引号包裹的内容,捕获引号内的文本
    // 如果需要同时支持中文双引号,把正则改成 /["“]([^"”]*)["”]/g 即可
    var regexp = /"([^"]*)"/g;
    return string.replace(regexp, function (match, innerContent) {
        var censorship = '';
        // X长度和引号内的文本长度保持一致
        for (var i = 0; i < innerContent.length; i++) {
            censorship += 'X';
        }
        return censorship
    })
}

div.addEventListener('click', censorWords)

效果说明

输入文本:The dog is "red"
匹配到的片段为"red",引号内部内容red长度为3,替换后输出:The dog is XXX,完全符合需求。如果引号内是更长内容,比如"test string",内部长度为11,就会自动替换为11个连续的X。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 14:03:20