如何替换文本区域中的最后一个字符?

时间:2011-07-06 21:37:49

标签: javascript

例如

test1,test2,test3,test4,

如何用句点替换最后一个字符(逗号)?

5 个答案:

答案 0 :(得分:15)

这将删除尾随逗号(如果有)并添加句点:

textarea.value = textarea.value.replace(/,$/, "") + ".";

textarea.value是一个具有replace方法的字符串。作为第一个参数,给出了一个正则表达式(以单个前导/为特征),它与末尾的逗号($)匹配。匹配(如果有的话)被替换为任何内容(已删除)并附加句点。

请注意,此代码会重置滚动(至少在Firefox中)和光标位置。

另一个代码段删除了一个逗号逗号,但如果没有逗号,则不添加句点:

textarea.value = textarea.value.replace(/,$/, ".");

答案 1 :(得分:9)

您可以使用.slice()删除最后一个字符,然后只连接句点。

var ta = document.getElementById('mytextarea');

ta.value = (ta.value.slice(0,-1) + '.');

答案 2 :(得分:3)

var yourTextarea = document.getElementById('textareaId'); // get your textarea element
var val = yourTextarea.value; // get text, written in textarea
val = val.slice(0,-1); // remove last char
val += charToReplace; // add char, that you want to be placed instead of comma
yourTextarea.value = str; // set just edited text into textarea

答案 3 :(得分:1)

您可以在最后检查逗号,然后将其替换为:

if (myString.substr(myString.length - 1, 1) == ',') {
  myString = myString.substr(0, myString.length - 1) + '.';
}

或者你可以盲目地取代它:

  myString = myString.substr(0, myString.length - 1) + '.';

答案 4 :(得分:0)

document.getElementsByTagName('textarea')[0].innerHTML = document.getElementsByTagName('textarea')[0].innerHTML.substr(0, document.getElementsByTagName('textarea')[0].innerHTML.length - 1)