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]中有关公民身份号码的规定,公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成.排列顺序从左至 ...
随机推荐
- NX二次开发-UFUN读取本地文本文档uc4514a
1 NX9+VS2012 2 3 #include <uf.h> 4 #include <uf_cfi.h> 5 #include <uf_ui.h> 6 7 us ...
- NX二次开发-隐藏对象UF_OBJ_set_blank_status
NX9+VS2012 #include <uf.h> #include <uf_curve.h> #include <uf_obj.h> UF_initialize ...
- Go的异常处理 defer, panic, recover
Go语言追求简洁优雅,所以,Go语言不支持传统的 try…catch…finally 这种异常,因为Go语言的设计者们认为,将异常与控制结构混在一起会很容易使得代码变得混乱.因为开发者很容易滥用异常, ...
- day28-描述符应用与类的装饰器
#!/usr/bin/env python# -*- coding:utf-8 -*-# ------------------------------------------------------- ...
- cv2.imwrite()指定图片存储路径
cv2.imwrite("./data/photo_{}.jpg".format(i), photo)
- xml初步,DTD和Schema约束
XML 可扩展的标记语言(!!!可扩展) 作用 1.存放数据 2.配置文件 语法 文档声明 <?xml version="1.0" encoding="UTF-8& ...
- 5.1_springboot2.x与安全(spring security)
1.简介 常见的两个安全框架shiro|spring security,这里只介绍spring security; Spring Security是针对Spring项目的安全框架,也是Spring B ...
- springboot EL @Value
一,springboot中 看一下代码: @Controller public class HelloController { //读取枚举值 @Value("#{T(com.example ...
- dev设置子窗体的初始位置,grid控件表头的属性设置
当在父窗体上弹出子窗体时,一般设置子窗体的初始位置是居中, //在需要展示子窗体的父窗体上写这段,注意必须设置在show方法之前Form2 f2 = new Form2(); f2.MdiParent ...
- 【JZOJ6384】珂学家
description analysis 注意配出来的饮料不可以再配成其他饮料,所以肯定有\(O(n^2)\)的枚举 而且可口度两两互不相同,搞得我以为这是神仙题 考虑把两个试剂\([l_1,r_1] ...