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

求助:移除textarea搜索字符后无法重新显示处理后的文本

问题排查:移除字符后文本无法正确显示

核心错误

你在处理移除字符的逻辑后,多写了一行覆盖结果的代码:

$('#removeChar').val(removedCharText);
// 下面这行直接覆盖了上面的正确结果
$('#removeChar').val(searchChar);

这行多余的代码会把#removeChar的内容设置为选中的搜索字符,而非处理后的文本,直接导致之前的移除操作结果被覆盖。

额外优化点

另外,你统计字符出现次数时用了gi修饰符(大小写不敏感),但replaceAll是大小写敏感的,这会导致统计的次数和实际移除的字符数量不匹配。建议改用正则表达式的replace方法,保持逻辑一致性:

var removedCharText = text.replace(new RegExp(searchChar, 'gi'), '');

修正后的完整JavaScript代码

$(document).ready(function() {
  //On click of button, generate text in text area
  $('#generateText').click(function(event) {
    $('#textArea').val("Tom Cruise once ate a 4000ft long subway sandwichs and then he played Nathan Drake!")
  })
  $('#submit').click(function(event) {
    event.preventDefault();

    //Number of Words
    var text = $('#textArea').val();
    var numWords = text.trim().split(/\s+/).length;
    $('#numWords').val(numWords);

    //Occurance Number
    var searchChar = $('#searchChar').val();
    var numOccurance = (text.match(new RegExp(searchChar, "gi")) || []).length;
    $('#numOccurance').val(numOccurance);

    //Caps Text
    var uppercaseText = text.toUpperCase();
    $('#capsText').val(uppercaseText);

    //Removes Search Character(修正后+优化大小写匹配)
    var removedCharText = text.replace(new RegExp(searchChar, 'gi'), '');
    $('#removeChar').val(removedCharText);

    // Date
    var numDays = $('#numDays').val();
    var currentDate = new Date;
    currentDate.setDate(currentDate.getDate() + parseInt(numDays));
    var formatDate = (currentDate.getMonth() + 1) + '/' + currentDate.getDate() + '/' + currentDate.getFullYear();
    $('#modifiedDate').val(formatDate);
  })
})

其他小优化

  • 重复的$('#numOccurance').val(numOccurance);已删除,避免冗余
  • generateText点击事件里的无用var text变量已移除

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 17:02:57