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

使用jQuery正则处理关键词字符串:移除逗号旁空格并修正代码问题

关键词格式化代码修正

问题说明

需要实现的效果:获取客户端输入的关键词,移除逗号两侧的所有空格,同时保留关键词内部的空格(比如air duster这类带空格的词)。

  • 原始输入:
,air duster, apple,       samsung , power bank station,sony
  • 期望输出:
air duster,apple,samsung,power bank station,sony
  • 现有代码的问题:
    原代码用split(/[ ,]+/).join(','),会把空格和逗号都作为分隔符,直接拆分了带空格的关键词,导致实际输出变成:
,air,duster,apple,samsung,power,bank,station,sony

修正后的代码

$("#my-input").on("focusout", function() {  
    console.log("FOCUS OUT")
    let inputVal = $(this).val();
    // 替换逗号前后任意数量的空格为单个无空格逗号
    let formattedVal = inputVal.replace(/\s*,\s*/g, ',')
                               // 移除首尾空白字符(包括开头多余的逗号)
                               .trim()
                               // 处理可能出现的连续逗号
                               .replace(/,+/g, ',');
    $(this).val(formattedVal);
})

代码说明

  1. replace(/\s*,\s*/g, ','):精准匹配逗号前后的任意空白字符(包括0个),替换为单个无空格的逗号——既清理了逗号两侧的冗余空格,又保留了关键词内部的空格。
  2. .trim():移除字符串首尾的所有空白字符,解决原始输入开头的空格+逗号问题。
  3. replace(/,+/g, ','):处理输入中可能存在的连续逗号(比如多个逗号连写的情况),确保最终只有单个逗号分隔关键词。
  4. 改用.val(formattedVal)设置输入框值,比.attr("value", ...)更可靠,能同步更新输入框的实际内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 18:44:58