我想用 js 从下面的 html 中仅删除文本值。
var Str = "<span style="">MY name is KERBEROS.</span><B>HELLO Everbody</B>"
所有带有以下代码的文本条;
[^<>]+(?=[<])
但我想只删除大写单词。 Clresult 必须是:MY、KERBEROS、HELLO 现在已经感谢您的建议。
问候, Kerberos
最佳答案
这是您的代码,给出输出: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();
关于javascript - 正则表达式:删除所有 HTML 标签并仅返回文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4289672/