JS不区分大小写匹配字符串高亮模拟浏览器Ctrl+F

JavaScript07

JS不区分大小写匹配字符串高亮模拟浏览器Ctrl+F,第1张

参数1:字符串或正则

参数2 :要替换的 字符串 或函数

函数里有三个参数,不明白的童鞋可以console.log在控制台查看

通过arguments来访问,我看完后顿时恍然大悟

这个需求是一个朋友问的我,有点挂不住老脸,居然没解决,

当时写的 toLocaleLowerCase 转换大小写, 但是这样无疑会更改页面原油的大写字母,不算实现需求,后经妹子委托她‘男友’ 我同学,写出另一种方法,问题得以解决,哈哈

这家伙是真滴6,我都没想到这种方法,惭愧惭愧,当时我想的是先把匹配的到的保存在变量,然后逐一赋值给texts,双层for循环太对了,

还有一种不知可行不可行,实现到一半,看到这种想到最上面的方法,果断弃之。(使用indexOf查找下标,whie循环全字段保存下标,然后循环数组下标值,使用splice前后加标签,包裹,不过,splice会改变原有数组,废了半天劲 无用功,这特么的就是我想到方法!!)

老子想静静。

以上两种方法都不失为好的解决办法,多写多想,加油加油!努力

这个功能的实现 比较笨点的 可以不用正则var _str = $("xx").html(), _key_word = "xxx", _al = _str.split( _key_word )_str = _al.join("" + _key_word + "")

不太明白你的描述,

如果你想做查询的高亮显示功能的话,可以这么写:

key是查询输入的字符串;

var str = "abcdedfffaaaaff",

var key = "abcf"

var keyHigh="<font style='color:red'>"+key+"</font>"

str.replace(key,keyHigh)

此时str中已经包含了高亮显示的内容了,直接显示出来即可。