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

如何通过jQuery获取输入的最后两个字符并判断是否为/c?

解决方法:获取最后两个输入字符并判断是否为"/c"

我来帮你调整代码,让你能轻松获取最后两个输入字符并判断是不是"/c"。先看看现有代码的小问题:你用了unshift把新按键放到数组最前面,这会导致字符顺序和用户输入的相反,而且没有限制数组长度,所以没法直接拿到最后两个有效字符。

下面是修改后的完整代码,我会一步步解释:

var keys = []; 
$('#target').keypress(function(e) {
    // 将当前按键转换为字符,添加到数组末尾(保持输入顺序)
    keys.push(String.fromCharCode(e.which));
    
    // 只保留最后两个字符,超过就移除最早输入的那个
    if (keys.length > 2) {
        keys.shift();
    }
    
    // 保留你原来的页面显示逻辑(可选)
    $('#last')
        .prepend($('<li/>').text(keys[keys.length - 1]))
        .children(':eq(2)').remove();
    
    // 拼接最后两个字符,判断是否等于"/c"
    var lastTwoChars = keys.join('');
    if (lastTwoChars === '/c') {
        // 这里写匹配后的逻辑,比如提示或执行操作
        console.log("检测到用户输入了/c!");
        // 清空数组避免重复触发(可选,根据你的需求调整)
        keys = [];
    }
});

关键调整点:

  • 修正字符顺序:用push代替unshift,让数组的顺序和用户输入顺序一致,最新的字符在数组末尾。
  • 限制数组长度:每次添加新字符后,判断数组长度是否超过2,超过就用shift()移除最早的字符,确保数组始终只存最后两个输入。
  • 直接判断组合字符串:用join('')把数组里的字符拼成完整字符串,直接和"/c"对比,逻辑更清晰。

如果用户输入的是单个字符,lastTwoChars长度为1,不会触发匹配;当输入第二个字符时,就会自动拼接判断,完美符合你的需求~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 04:01:23