b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

js 正则表达式语法大全_常用的正则表达式大全_正则表达式大全(21)

电脑杂谈  发布时间:2017-03-06 07:00:33  来源:网络整理

}

function highlight(s){

if (s.length==0){

alert('搜索关键词未填写!');

return false;

}

s=encode(s);

var obj=document.getElementsByTagName("body")[0];

var t=obj.innerHTML.replace(/<span\s+class=.?highlight.?>([^<>]*)<\/span>/gi,"$1");

obj.innerHTML=t;

var cnt=loopSearch(s,obj);

t=obj.innerHTML

var r=/{searchHL}(({(?!\/searchHL})|[^{])*){\/searchHL}/g

t=t.replace(r,"<span>$1</span>");

obj.innerHTML=t;

alert("搜索到关键词"+cnt+"处")

}

function loopSearch(s,obj){

var cnt=0;

if (obj.nodeType==3){

cnt=replace(s,obj);

return cnt;

}

for (var i=0,c;c=obj.childNodes[i];i++){

if (!c.className||c.className!="highlight")

cnt+=loopSearch(s,c);

}

return cnt;

}

function replace(s,dest){

var r=new RegExp(s,"g");

var tm=null;

var t=dest.nodeValue;

var cnt=0;

if (tm=t.match(r)){

cnt=tm.length;

t=t.replace(r,"{searchHL}"+decode(s)+"{/searchHL}")

dest.nodeValue=t;

}

return cnt;

}

</script>

<style type="text/css">

.highlight{background:green;font-weight:bold;color:white;}

</style>

</head>

<body>

<form onsubmit="highlight(this.s.value);return false;">

<p><input title="搜索内容:"/><input type="submit" value="搜索"/></p>

</form>

<div>

测试高亮的代码。很长很长的代码……………………

</div>

</body>

</html> 删除标签

删除除了<img>、<br>、<p>之外所有的标签。子虚乌有给出代码中关键的一句:

o.innerHTML.replace(/(<\/?(?!br|p|img)[^>\/]*)\/?>/gi,''); 刚开始没反应过来,后来才想起来,这个正则不用区分起始和结束标签。

<\/?(?!br|p|img)

匹配除了保护标签外标签的起始标签或者是结束标签的一部分。

[^>\/]*

匹配到>或者/就结束。

\/?>

起始标签或者结束标签的结尾。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-36054-21.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...