gpt4 book ai didi

JavaScript正则方法replace实现搜索关键字高亮显示

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章JavaScript正则方法replace实现搜索关键字高亮显示由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

前言 。

正则表达式是字符串处理工具中强有力的工具.也有人认为这只是一个小玩具,但不管怎么说都离不开它. 。

这里介绍的是JavaScript的正则表达式的replace方法 ,和实现搜索关键字高亮的功能. 。

先介绍一下正则表达式的replace方法 。

JavaScript正则方法replace实现搜索关键字高亮显示

replace介绍 。

w3school原文链接介绍 。

正则表达式如何使用特殊字符$来表示原来的文本,这是实现搜索高亮的关键.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var str = "asad sad 123 sd qwe21" ;
str.replace(/\d+/img, "数字" );
//这里正确的匹配到了数字,且替换成了中文的数字
console.log(str); //"asad sad 数字 sd qwe数字"
------------------------------------------------------
//看一下如何使用$1,表示被捕获的字符串
var str = "asad sad 123 sd qwe21" ;
str.replace(/\d+/img, "数字$1数字" );
console.log(str); //"asad sad 数字$1数字 sd qwe数字$1数字"
//很显然并没有成功,$1 还是$1,那么如何正确使用呢?
------------------------------------------------------
var str = "asad sad 123 sd qwe21" ;
str.replace(/(\d+)/img, "数字$1数字" );
//这里就正确的匹配了数字并且用$1 表示原字符串并替换
console.log(str); ///"asad sad 数字123数字 sd qwe数字21数字"
/*
()在正则里面表示捕获性元组,可以用$1 特殊字符来表示被替换的内容,可以有多个()元组,也就是可以有多个$1,$2 */

开始小试身手 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<!DOCTYPE html>
<html lang= "en" >
<head>
</head>
<body>
  <style>
  b{
  color:red;
  }
  </style>
<div id= "poetry" >
春江花月夜<br>
作者:张若虚<br>
春江潮水连海平,海上明月共潮生。 <br>
滟滟随波千万里,何处春江无月明! <br>
江流宛转绕芳甸,月照花林皆似霰; <br>
空里流霜不觉飞,汀上白沙看不见。 <br>
江天一色无纤尘,皎皎空中孤月轮。 <br>
江畔何人初见月?江月何年初照人? <br>
人生代代无穷已,江月年年只相似。 <br>
</div>
<input type = "text" id= "input" />
</body>
</html>
<script>
//input 输入要查找的字符串
input.onchange = function (){
  //获取要查找的字符串
  var searchVal = input.value;
  // 获取要查找的内容
  var text = poetry.innerHTML;
  //将之前的查找高亮的字符串,取消高亮
  text = text.replace(/<b[^>]*>([^>]*)<\/b[^>]*>/ig, "$1" );
  poetry.innerHTML = text;
  //初始化正则表达式,加上括号(),形成可捕获元组.ig表示全局匹配和不区分大小写
  var reg = new RegExp( "(" +searchVal + ")" , "ig" );
  //高亮要查找的字符串
  text = text.replace(reg, "<b>$1</b>" );
  poetry.innerHTML = text;
}
</script>

总结 。

以上所述是小编给大家介绍的JavaScript正则方法replace实现搜索关键字高亮显示,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我网站的支持! 。

原文链接:http://blog.csdn.net/qq_29594393/article/details/78014537 。

最后此篇关于JavaScript正则方法replace实现搜索关键字高亮显示的文章就讲到这里了,如果你想了解更多关于JavaScript正则方法replace实现搜索关键字高亮显示的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com