博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js正则笔记
阅读量:5080 次
发布时间:2019-06-12

本文共 4611 字,大约阅读时间需要 15 分钟。

1 //内容  2 var innerhtml = $('.reading_box_m').html().replace(/ tag="?[一二三四五六七八九十]+"?/ig, "");  3 var innerhtml = innerhtml.replace(/ id="?\d+"?/ig, "");  4 //初步匹配篇 章 节  5 var regALl_Rge1 = new RegExp('<(div|p)\\s+class="?(ue_codeTitle|ue_chapterTitle|ue_sectionTitle)"?>([^<]+)
', 'ig'); 6 var titleLis = innerhtml.match(regALl_Rge1); 7 8 9 innerhtml.replace(regALl_Rge1, function () { 10 lip = lip + 1; 11 //篇 12 var format_1_children = $('
  • '); 13 //章 14 var format_2_children = $('
  • '); 15 //节 16 var format_3_children = $('
  • '); 17 var args = arguments; 18 //篇 19 if (args[2] == 'ue_codeTitle') { 20 format_1_children.children('a').prepend('').attr('href', '#' + lip).append(args[3]); 21 format_1.append(format_1_children); 22 //当前篇 23 currF1 = format_1.children('li').last(); 24 f = f + 1; 25 } 26 //章 27 else if (args[2] == 'ue_chapterTitle') { 28 if (f == 0 || f != lastF) { 29 format_2_children.children('a').prepend('').attr('href', '#' + lip).append(args[3]); 30 //当前章 31 currF2 = $("
    "); 32 currF2.append(format_2_children); 33 //如果没有篇 34 if (!currF1) { 35 format_1.append(format_1_children); 36 //当前篇 37 currF1 = format_1.children('li').last(); 38 currF1.children('a').after(currF2).remove(); 39 currF2.show(); 40 f = 1; 41 } 42 else { 43 currF1.children('a').after(currF2); 44 } 45 } 46 else { 47 format_2_children.children('a').prepend('').attr('href', '#' + lip).append(args[3]); 48 currF1.children('ul').append(format_2_children); 49 } 50 f2 = f2 + 1; 51 lastF = f; 52 } 53 //节 54 else if (args[2] == 'ue_sectionTitle') { 55 format_3_children.children('a').prepend('').attr('href', '#' + lip).append(args[3]); 56 if (f2 == 0 || f2 != lastF2) { 57 //当前节 58 currF3 = $("
      "); 59 currF2.children('li').last().children('a').end().append(currF3); 60 } 61 currF3.append(format_3_children); 62 lastF2 = f2; 63 } 64 }); 65 66 67 68 69 /*********收索关键字变色开始***********/ 70 function HightLight(searchList) { 71 var arrStyle = [ 72 { style: "color:red;padding:0px 2px;" }, 73 { style: "color:orange;padding:0px 2px;" }, 74 { style: "color:yellow;padding:0px 2px;" }, 75 { style: "color:green;padding:0px 2px;" }, 76 { style: "color:aqua;padding:0px 2px;" }, 77 { style: "color:blue;padding:0px 2px;" }, 78 { style: "color:purple;padding:0px 2px;" } 79 ]; 80 searchList = decodeURIComponent(searchList); 81 if (!searchList) return; 82 for (var j = 0; j < searchList.split(',').length ; j++) { 83 var kyesVal = searchList.split(',')[j]; 84 $(".reading_box_m p").filter(function (i) { 85 if ($(this).text().indexOf(kyesVal) != -1) { 86 var r = RegExp(kyesVal, 'ig'); 87 $(this).html($(this).html().replace(r, '' + kyesVal + '')); 88 } 89 }); 90 } 91 92 } 93 /*********收索关键字变色结束***********/ 94 95 96 //关键字搜索 97 function Sercah() { 98 var kyesVal = $.trim(document.getElementById('txtMenKey').value); 99 //if (keys_test != "" && keys_test == kyesVal) { return; }//waitmsg("已找到对应的" + g_keys_count + "处关键字!", 1);相同关键字查询时返回100 $(".reading").children('reading_box_m p').css({ 'background': "#FFF" })101 $('span[keys]').removeAttr('style').removeAttr("id");102 g_keys = 0;103 var lip = 0;104 if (kyesVal != '' && kyesVal != '关键字查询') {105 $(".reading_box_m p").filter(function (i) {106 if ($(this).text().indexOf(kyesVal) != -1) {107 var r = RegExp(kyesVal, 'ig');108 $(this).html($(this).text().replace(r, function () {109 var arg = arguments;110 lip++;111 return '' + kyesVal + '';112 }))113 }114 });115 keys_test = kyesVal; //关键字记录赋值116 g_keys_count = lip; //关键字次数117 if (arguments.length > 0 && arguments[0] == '0') {
      //有参数表示按钮点击没有查询到提示118 if (lip == 0)119 waitmsg("没有找到对应的关键字!", 4);120 else {121 waitmsg("已找到对应的" + g_keys_count + "处关键字!", 1);122 PositionKeys('down', 0);//有参数是跳转到第一个查询位置123 }124 }125 } else {126 if (arguments.length > 0 && arguments[0] == '0')//有参数表示按钮点击没有查询到提示127 $('#txtMenKey').val('关键字查询');128 keys_test = '';129 waitmsg("请输入查询关键字!", 4);130 };131 };132 133 //定位关键字134 function PositionKeys(t, c) {135 136 137 var countkey = parseInt(g_keys_count);138 if (countkey == 0) {139 waitmsg("没有找到对应的关键字!", 4);140 return;141 }142 if (t == "down") {143 g_keys = g_keys + 1;144 if (g_keys > countkey) {145 g_keys = 1;146 }147 }148 else if (t == "up") {149 g_keys = g_keys - 1;150 if (g_keys <= 0) {151 g_keys = countkey;152 }153 }154 $("span[id^='keys']").css("border", "none");155 $("#keys" + g_keys).css("border", "red 1px solid");156 var topVal = $('.reading_box').scrollTop() + parseInt($("#keys" + g_keys).offset().top);157 $('.reading_box').stop(true).animate({ scrollTop: (topVal - 30) }, 500);158 }; 159 160

       

      转载于:https://www.cnblogs.com/sxmny/p/3471100.html

      你可能感兴趣的文章
      IdentityServer4-用EF配置Client(一)
      查看>>
      WPF中实现多选ComboBox控件
      查看>>
      读构建之法第四章第十七章有感
      查看>>
      Windows Phone开发(4):框架和页 转:http://blog.csdn.net/tcjiaan/article/details/7263146
      查看>>
      Unity3D研究院之打开Activity与调用JAVA代码传递参数(十八)【转】
      查看>>
      python asyncio 异步实现mongodb数据转xls文件
      查看>>
      TestNG入门
      查看>>
      【ul开发攻略】HTML5/CSS3菜单代码 阴影+发光+圆角
      查看>>
      [ZJOI2007]棋盘制作 【最大同色矩形】
      查看>>
      IOS-图片操作集合
      查看>>
      模板统计LA 4670 Dominating Patterns
      查看>>
      团队项目开发客户端——登录子系统的设计
      查看>>
      IO—》Properties类&序列化流与反序列化流
      查看>>
      session如何保存在专门的StateServer服务器中
      查看>>
      react展示数据
      查看>>
      测试计划
      查看>>
      选择器
      查看>>
      Mysql与Oracle 的对比
      查看>>
      jquery实现限制textarea输入字数
      查看>>
      thinkphp5 csv格式导入导出(多数据处理)
      查看>>