js正则笔记
//内容
var innerhtml = $('.reading_box_m').html().replace(/ tag="?[一二三四五六七八九十]+"?/ig, "");
var innerhtml = innerhtml.replace(/ id="?\d+"?/ig, "");
//初步匹配篇 章 节
var regALl_Rge1 = new RegExp('<(div|p)\\s+class="?(ue_codeTitle|ue_chapterTitle|ue_sectionTitle)"?>([^<]+)</\\1>', 'ig');
var titleLis = innerhtml.match(regALl_Rge1); innerhtml.replace(regALl_Rge1, function () {
lip = lip + 1;
//篇
var format_1_children = $('<li><a href="#"></a></li>');
//章
var format_2_children = $('<li><a href="#"></a></li>');
//节
var format_3_children = $('<li><a href="#"></a></li>');
var args = arguments;
//篇
if (args[2] == 'ue_codeTitle') {
format_1_children.children('a').prepend('<input type="button" >').attr('href', '#' + lip).append(args[3]);
format_1.append(format_1_children);
//当前篇
currF1 = format_1.children('li').last();
f = f + 1;
}
//章
else if (args[2] == 'ue_chapterTitle') {
if (f == 0 || f != lastF) {
format_2_children.children('a').prepend('<input type="button" >').attr('href', '#' + lip).append(args[3]);
//当前章
currF2 = $("<ul id='general' class='manual_book' style='display: none;'></ul>");
currF2.append(format_2_children);
//如果没有篇
if (!currF1) {
format_1.append(format_1_children);
//当前篇
currF1 = format_1.children('li').last();
currF1.children('a').after(currF2).remove();
currF2.show();
f = 1;
}
else {
currF1.children('a').after(currF2);
}
}
else {
format_2_children.children('a').prepend('<input type="button" >').attr('href', '#' + lip).append(args[3]);
currF1.children('ul').append(format_2_children);
}
f2 = f2 + 1;
lastF = f;
}
//节
else if (args[2] == 'ue_sectionTitle') {
format_3_children.children('a').prepend('<input type="button" >').attr('href', '#' + lip).append(args[3]);
if (f2 == 0 || f2 != lastF2) {
//当前节
currF3 = $("<ul id='manual_1' class='list' style='display: none;' style='display: block;'></ul>");
currF2.children('li').last().children('a').end().append(currF3);
}
currF3.append(format_3_children);
lastF2 = f2;
}
}); /*********收索关键字变色开始***********/
function HightLight(searchList) {
var arrStyle = [
{ style: "color:red;padding:0px 2px;" },
{ style: "color:orange;padding:0px 2px;" },
{ style: "color:yellow;padding:0px 2px;" },
{ style: "color:green;padding:0px 2px;" },
{ style: "color:aqua;padding:0px 2px;" },
{ style: "color:blue;padding:0px 2px;" },
{ style: "color:purple;padding:0px 2px;" }
];
searchList = decodeURIComponent(searchList);
if (!searchList) return;
for (var j = 0; j < searchList.split(',').length ; j++) {
var kyesVal = searchList.split(',')[j];
$(".reading_box_m p").filter(function (i) {
if ($(this).text().indexOf(kyesVal) != -1) {
var r = RegExp(kyesVal, 'ig');
$(this).html($(this).html().replace(r, '<span keys style=' + arrStyle[j % 7].style + ' >' + kyesVal + '</span>'));
}
});
} }
/*********收索关键字变色结束***********/ //关键字搜索
function Sercah() {
var kyesVal = $.trim(document.getElementById('txtMenKey').value);
//if (keys_test != "" && keys_test == kyesVal) { return; }//waitmsg("已找到对应的" + g_keys_count + "处关键字!", 1);相同关键字查询时返回
$(".reading").children('reading_box_m p').css({ 'background': "#FFF" })
$('span[keys]').removeAttr('style').removeAttr("id");
g_keys = 0;
var lip = 0;
if (kyesVal != '' && kyesVal != '关键字查询') {
$(".reading_box_m p").filter(function (i) {
if ($(this).text().indexOf(kyesVal) != -1) {
var r = RegExp(kyesVal, 'ig');
$(this).html($(this).text().replace(r, function () {
var arg = arguments;
lip++;
return '<span title=第' + lip + '处 id=keys' + lip + ' keys style="background:yellow; color:red">' + kyesVal + '</span>';
}))
}
});
keys_test = kyesVal; //关键字记录赋值
g_keys_count = lip; //关键字次数
if (arguments.length > 0 && arguments[0] == '0') {//有参数表示按钮点击没有查询到提示
if (lip == 0)
waitmsg("没有找到对应的关键字!", 4);
else {
waitmsg("已找到对应的" + g_keys_count + "处关键字!", 1);
PositionKeys('down', 0);//有参数是跳转到第一个查询位置
}
}
} else {
if (arguments.length > 0 && arguments[0] == '0')//有参数表示按钮点击没有查询到提示
$('#txtMenKey').val('关键字查询');
keys_test = '';
waitmsg("请输入查询关键字!", 4);
};
}; //定位关键字
function PositionKeys(t, c) { var countkey = parseInt(g_keys_count);
if (countkey == 0) {
waitmsg("没有找到对应的关键字!", 4);
return;
}
if (t == "down") {
g_keys = g_keys + 1;
if (g_keys > countkey) {
g_keys = 1;
}
}
else if (t == "up") {
g_keys = g_keys - 1;
if (g_keys <= 0) {
g_keys = countkey;
}
}
$("span[id^='keys']").css("border", "none");
$("#keys" + g_keys).css("border", "red 1px solid");
var topVal = $('.reading_box').scrollTop() + parseInt($("#keys" + g_keys).offset().top);
$('.reading_box').stop(true).animate({ scrollTop: (topVal - 30) }, 500);
};
js正则笔记的更多相关文章
- js正则学习
一直对正则很纠结也很畏惧,以前感觉花时间理解一个个奇奇怪怪的符号,还不如直接百度谷歌之. 但知其然不知其所以然也是种痛苦,所以花了两天稍微学了一下,虽然没学很深入彻底,但也比之前进步不少,特此笔记. ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- Vue.js学习笔记(2)vue-router
vue中vue-router的使用:
- js读书笔记
js读书笔记 基本类型的基本函数总结 1. Boolean() 数据类型 转换为true的值 转换为false的值 Boolean true false String 任何非空字符串 "&q ...
- React.js入门笔记
# React.js入门笔记 核心提示 这是本人学习react.js的第一篇入门笔记,估计也会是该系列涵盖内容最多的笔记,主要内容来自英文官方文档的快速上手部分和阮一峰博客教程.当然,还有我自己尝试的 ...
- js正则
JS正则 test:判断字符串是否符合规定的正则 rep = /\d+/; rep.test("asdfoiklfasdf89asdfasdf") # true rep = /^\ ...
- js正则匹配的一个日常应用
应用实例 1 /** 将段落中的 \n 转换为 <p></p>, 规范存储 */ 2 function formatParagraphForStore(val) { 3 var ...
- jS正则和WEB框架Django的入门
JS正则 -test 判断字符串是否符合规定的正则表达式 -exec 获取匹配的数据 test的例子: 从上述的例子我们可以看出,如果rep.test匹配到了就返回true,否则返回false exe ...
- js正则实现二代身份证号码验证详解
js正则实现二代身份证号码验证详解 根据[中华人民共和国国家标准 GB 11643-1999]中有关公民身份号码的规定,公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成.排列顺序从左至 ...
随机推荐
- Python字典列表字段重组形成新的字典
最近遇到这样一个需求,需要将字典列表中的字段进行重组,形成一个新的字典.举个例子吧: l1 = [{"x": 22, "y": 22, "demand ...
- (转)简述负载均衡&CDN技术
转:http://www.cnblogs.com/mokafamily/p/4402366.html#commentform 曾经见到知乎上有人问“为什么像facebook这类的网站需要上千个工程师维 ...
- LED 发光二极管压降
常用发光二极管的压降 1. 直插超亮发光二极管压降 主要有三种颜色,然而三种发光二极管的压降都不相同,具体压降参考值如下: 红色发光二极管的压降为2.0--2.2V 黄色发光二极管的压降为1.8—2 ...
- mysql的JDBC连接
程序是通过DriverManager注册驱动,所以加载之后可以直接使用DriverMannagermysql中的多态: 不仅是赋值的时候使用了多态,返回的时候都是返回的借口(不是返回的子类对象),所以 ...
- Spring Cloud高级视频
Spring Cloud高级视频 第一章 微服务架构概述 第二章 开始使用Spring Cloud实战微服务 第三章 服务提供者与服务消费者 第四章 服务发现与服务注册 第五章 使用Hystrix保护 ...
- ES6 学习 -- Class继承
(1)如何继承Class可以通过extends关键字实现继承,如下:class Father { } class Child extends Father { }// 这里子类Child继承父类Fat ...
- flink widow&window funcion&水印
在定义了窗口分配器之后,我们需要为每一个窗口明确的指定计算逻辑,这个就是窗口函数要做的事情, 当系统决定一个窗口已经准备好执行之后,这个窗口函数将被用来处理窗口中的每一个元素(可能是 分组的). 谁可 ...
- iOS开发系列-支付宝支付
概述 开发中支付通常都会集成支付宝支付,下面讲解支付宝的整体流程. 集成支付宝支付的流程 签约 与支付签约,得到获取商户的ID(partner).账户ID(seller).私钥privateKey. ...
- java四种引用与回调函数
JAVA四种引用 java对象的引用包括: 强引用 软引用 弱引用 虚引用 Java中提供这四种引用类型主要有两个目的: 第一是可以让程序员通过代码的方式决定某些对象的生命周期: 第二是有利于JVM进 ...
- mantis 添加新状态配置方法
在mantis的状态栏中一般只有:新建.反馈.认可.已确认.已分派.已解决.已关闭,七个选项,如果想在其中加入新的状态怎么做? 我要加入的状态为:重新打开 1.添加状态信息 打开config_defa ...