如何使用javascript动态地正确剥离HTML标签?

时间:2014-01-24 09:01:49

标签: javascript regex

我之前已经问过这种类型的问题,这就是我首先想出的正则表达式,但我的编码似乎并没有起作用。

我结合了两件事,首先我试图将多行文本框限制为6000个字符并将其设置为按键,这样做很好。但是,作为其中的一部分,我还想在检查长度之前删除HTML标记,这是一个不起作用的位。我的代码如下:

function TruncateNotes(text) {
    var notesfield = document.getElementById(text.id);
    //strip html tags such as < and > out of the text before checking length
    stripHTML(text);

    var maxlength = 6000;

    if (notesfield.value.length > maxlength) {
        notesfield.focus();
        notesfield.value = text.value.substring(0, maxlength);
        notesfield.scrolltop = notesfield.scrollHeight;
        return false;
    }
    else {
        return true;
    }
}

function stripHTML(text) {
    var notesfield = document.getElementById(text.id);
    notesfield.value.replace(/<.*?>/g, "");
}

我的感觉是与正则表达式有关,因为我对这些表达不太好。有什么建议吗?

1 个答案:

答案 0 :(得分:2)

JavaScript'.replace'不修改原始字符串,返回一个字符串,其值已被替换。这意味着您必须在操作后将其分配回notesfield.value:

notesfield.value = notesfield.value.replace(/<.*?>/g, "");