javascript删除textarea中的最后一个单词

时间:2011-11-13 04:24:11

标签: javascript textarea word

任何人都可以帮我删除文本区域中的最后一个单词,它将替换为另一个单词。

示例:

I like my dog

应该成为

I like my cat

最后一句话并不总是狗。

我会在这里更新我的代码

    function KeyCheck(e) {

var KeyID = (window.event) ? event.keyCode : e.keyCode;

switch(KeyID) {
    case 32:
        text2 = document.form1.box1.value;
        text2 = ReplaceLastWord(text2, "cat");
                alert(text2);
    }
}

function ReplaceLastWord(str, newStr) {
   return str.replace(/\w*$/, newStr);
}

我已经发出警告以检查它是否被替换

2 个答案:

答案 0 :(得分:4)

var str = 'I like my dog'; 
var newEndStr = 'cat'; 

function ReplaceLastWord(str, newStr) {
   return str.replace(/\w*$/, newStr);
}

console.log(ReplaceLastWord(str, newEndStr));

输出:

I like my cat

答案 1 :(得分:2)

您可以搜索最后一个空格字符并替换它后面的文字:

text = text.replace(/\w+$/, '');
text = text.substring(0, text.lastIndexOf(' ')) + ' foobar';

第一行删除所有尾随空格。


您可以将onkeydown事件绑定到textarea。如果e.keyCode || e.which等于空格键代码(不知道它是什么),请通过此函数传递textarea的内容:

function getLastWord(text) {
  temp = text.replace(/\w+$/, '');

  return temp.substring(temp.lastIndexOf(' '), temp.length - 1)
}

然后检查最后一个单词是否为dog现在你可以替换最后一个单词。