正则表达式:删除所有HTML标签并只返回文本?

时间:2010-11-27 01:46:21

标签: javascript regex

我想用js从html下面删除文本值。

var Str = "<span style="">MY name is KERBEROS.</span><B>HELLO Everbody</B>"

所有文字条带的代码如下;

[^<>]+(?=[<])

但我想删除大写单词。克里斯特尔必须是:我,克尔伯斯,你好 现在谢谢你的建议。

此致 Kerberos的

1 个答案:

答案 0 :(得分:0)

这是你的代码,给出输出:MY,KERBEROS,HELLO

<script>
String.prototype.stripHTML = function()
{
        var matchTag = /<(?:.|\s)*?>/g;
        return this.replace(matchTag, "");
};

String.prototype.getUpperCaseWords = function()
{
        var matchTag1 = /\b([A-Z])+\b/g;
        var o = this.match(matchTag1);
        return o;
};


var Str = "<span style=''>MY name is KERBEROS.</span><B>HELLO Everbody</B>";

var out1 = Str.stripHTML();
var out2 = out1.getUpperCaseWords();

alert(out2);

</script>

这是JavaScript中仅使用一行正则表达式的另一种解决方案:

String.prototype.stripHTML = function()
{
        var matchTag = /<(?:.|\s)*?>/g;
        return this.replace(matchTag, "").match(/\b([A-Z])+\b/g);
};


var Str = "<span style=''>MY name is SATYA PRAKASH.</span><B>HELLO Everyone</B>";

var out1 = Str.stripHTML();