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

JavaScript字符串末尾字符校验及加法计算器防重复加号实现问询

问题2:加法计算器避免连续加号的实现

这个需求很常见,核心思路就是点击加号按钮时,先判断当前输入框的最后一个字符是不是加号,如果是就不执行拼接操作。

假设你的计算器显示区域是一个input或者div,比如id为calc-display,那可以这样写点击事件逻辑:

const display = document.getElementById('calc-display');

function onPlusButtonClick() {
  const currentContent = display.textContent || display.value;
  // 先处理空内容的情况:如果输入框是空的,直接不允许加加号
  if (!currentContent) return;

  // 获取最后一个字符
  const lastChar = currentContent.slice(-1);
  // 只有最后一个字符不是加号时,才拼接加号
  if (lastChar !== '+') {
    display.textContent += '+';
    // 如果是input元素就用 display.value += '+'
  }
}

如果之后你要扩展其他运算符(比如减号、乘号),可以把所有运算符放到一个数组里,这样判断更灵活:

const operators = ['+', '-', '*', '/'];

function onPlusButtonClick() {
  const currentContent = display.textContent || display.value;
  if (!currentContent) return;

  const lastChar = currentContent.slice(-1);
  // 检查最后一个字符是不是运算符,不是的话才拼接
  if (!operators.includes(lastChar)) {
    display.textContent += '+';
  }
}

这样就算以后加了其他运算符,也不会出现连续运算符的问题啦。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:30:36