首页 > 编程语言 >JavaScript正则获取a标签中的path路径值-流程引擎-计算引擎

JavaScript正则获取a标签中的path路径值-流程引擎-计算引擎

时间:2023-05-23 12:22:59浏览次数:50  
标签:E5% 3C% 22% JavaScript 3D% 3E% 引擎 20% path

直接上代码:

//获取附件中的链接地址
            function get_file_path_from_encode_value(x) {
                var arrLink = [];
                x.replace(/<a [^>]*path=['"]([^'"]+)[^>]*/gi, function (match, capture) {
                    arrLink.push(capture)
                });
                if (arrLink.length > 0) {
                    return arrLink;
                }
            }

            
            //举个例子
            var ssss = decodeURIComponent("%3Ctbody%3E%3Ctr%3E%20%20%20%20%3Ctd%3E%20%20%20%20%20%20%20%20%3Ca%20style%3D%22cursor%3Apointer%3Bdisplay%3Ablock%3B%22%20onclick%3D%22openf(this)%22%20path%3D%22%2Fupload%2Ffiles%2F5d1f9b6ec370468b95ede27ea70fa092_%E4%B8%AD%E8%AF%95%E5%9F%BA%E5%9C%B0.xlsx%22%3E%E4%B8%AD%E8%AF%95%E5%9F%BA%E5%9C%B0.xlsx%3C%2Fa%3E%20%20%20%20%3C%2Ftd%3E%20%20%20%20%3Ctd%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2010%20KB%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Ftd%3E%20%20%20%20%3Ctd%3E%20%20%20%20%20%20%20%20%3Ca%20name%3D%22adelete%22%20onclick%3D%22deletefiles(this)%22%20style%3D%22cursor%3A%20pointer%3B%20color%3A%20red%3B%22%3E%E5%88%A0%E9%99%A4%3C%2Fa%3E%20%20%20%20%3C%2Ftd%3E%3C%2Ftr%3E%3Ctr%3E%20%20%20%20%3Ctd%3E%20%20%20%20%20%20%20%20%3Ca%20style%3D%22cursor%3Apointer%3Bdisplay%3Ablock%3B%22%20onclick%3D%22openf(this)%22%20path%3D%22%2Fupload%2Ffiles%2Fc2d40849476e42b0a38de0c1aa0f0aa6_%E4%BB%AA%E5%99%A8%E7%AE%A1%E7%90%86.xlsx%22%3E%E4%BB%AA%E5%99%A8%E7%AE%A1%E7%90%86.xlsx%3C%2Fa%3E%20%20%20%20%3C%2Ftd%3E%20%20%20%20%3Ctd%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2010%20KB%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Ftd%3E%20%20%20%20%3Ctd%3E%20%20%20%20%20%20%20%20%3Ca%20name%3D%22adelete%22%20onclick%3D%22deletefiles(this)%22%20style%3D%22cursor%3A%20pointer%3B%20color%3A%20red%3B%22%3E%E5%88%A0%E9%99%A4%3C%2Fa%3E%20%20%20%20%3C%2Ftd%3E%3C%2Ftr%3E%3C%2Ftbody%3E");

            var arr = get_file_path_from_encode_value(ssss);

            for (var i = 0; i < arr.length; i++) {
                alert(arr[i]);
            }

  

 

当然可以放到方法里面做decode操作:

 //获取附件中的链接地址
            function get_file_path_from_encode_value(x) {
                x = decodeURIComponent(x);
                var arrLink = [];
                x.replace(/<a [^>]*path=['"]([^'"]+)[^>]*/gi, function (match, capture) {
                    arrLink.push(capture)
                });
                if (arrLink.length > 0) {
                    return arrLink;
                }
            }

            var arr = get_file_path_from_encode_value("%3Ctbody%3E%3Ctr%3E%20%20%20%20%3Ctd%3E%20%20%20%20%20%20%20%20%3Ca%20style%3D%22cursor%3Apointer%3Bdisplay%3Ablock%3B%22%20onclick%3D%22openf(this)%22%20path%3D%22%2Fupload%2Ffiles%2F5d1f9b6ec370468b95ede27ea70fa092_%E4%B8%AD%E8%AF%95%E5%9F%BA%E5%9C%B0.xlsx%22%3E%E4%B8%AD%E8%AF%95%E5%9F%BA%E5%9C%B0.xlsx%3C%2Fa%3E%20%20%20%20%3C%2Ftd%3E%20%20%20%20%3Ctd%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2010%20KB%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Ftd%3E%20%20%20%20%3Ctd%3E%20%20%20%20%20%20%20%20%3Ca%20name%3D%22adelete%22%20onclick%3D%22deletefiles(this)%22%20style%3D%22cursor%3A%20pointer%3B%20color%3A%20red%3B%22%3E%E5%88%A0%E9%99%A4%3C%2Fa%3E%20%20%20%20%3C%2Ftd%3E%3C%2Ftr%3E%3Ctr%3E%20%20%20%20%3Ctd%3E%20%20%20%20%20%20%20%20%3Ca%20style%3D%22cursor%3Apointer%3Bdisplay%3Ablock%3B%22%20onclick%3D%22openf(this)%22%20path%3D%22%2Fupload%2Ffiles%2Fc2d40849476e42b0a38de0c1aa0f0aa6_%E4%BB%AA%E5%99%A8%E7%AE%A1%E7%90%86.xlsx%22%3E%E4%BB%AA%E5%99%A8%E7%AE%A1%E7%90%86.xlsx%3C%2Fa%3E%20%20%20%20%3C%2Ftd%3E%20%20%20%20%3Ctd%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2010%20KB%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Ftd%3E%20%20%20%20%3Ctd%3E%20%20%20%20%20%20%20%20%3Ca%20name%3D%22adelete%22%20onclick%3D%22deletefiles(this)%22%20style%3D%22cursor%3A%20pointer%3B%20color%3A%20red%3B%22%3E%E5%88%A0%E9%99%A4%3C%2Fa%3E%20%20%20%20%3C%2Ftd%3E%3C%2Ftr%3E%3C%2Ftbody%3E");

            for (var i = 0; i < arr.length; i++) {
                alert(arr[i]);
            }

  

 

done

 

标签:E5%,3C%,22%,JavaScript,3D%,3E%,引擎,20%,path
From: https://www.cnblogs.com/IBPM/p/17423175.html

相关文章

  • 执行VBA的C#底层引擎编写
    VBA执行分几种:usingSystem;usingExcel=Microsoft.Office.Interop.Excel;usingSystem.IO;usingSystem.Diagnostics;usingMicrosoft.Vbe.Interop;usingMicrosoft.Office.Interop.Excel;usingSystem.Text;usingVBIDE=Microsoft.Vbe.Interop;namespaceExcelV......
  • abc271_e Subsequence Path 题解
    SubsequencePath题意有\(n\)个城市和\(m\)条有向道路,编号从\(1\)开始,第\(i\)条道路从\(a_i\)到\(b_i\),长度为\(c_i\)。给定一个长度为\(k\)的序列\(e\),我们定义从\(1\)到\(n\)的一条路径是优秀的当且仅当:经过的边的编号按顺序构成\(e\)的一个子序列。......
  • Apollo planning 模块(三):path decider
    lanefollow场景为例,包含一个stage,每个stage又包含若干个task。在路径决策方面,依次进行lane_change_decider、path_reuse_decider、path_lane_borrow_decider、path_bounds_decider。在路径优化方面,依次进行piecewise_jerk_path_optimizer、path_assessment_decider、path_decider......
  • JavaScript函数
    1函数定义使用function关键字来定义,即functionfName(para,...){statment;...;},可使用在函数声明语句与函数定义表达式这两种形式中函数名称标识符fName。是函数声明语句必需的部分。它的用途就像变量的名字,新定义的函数对象会赋值给这个变量但对函数定义表达式来说......
  • 记录--九个超级好用的 Javascript 技巧
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助前言在实际的开发工作过程中,积累了一些常见又超级好用的Javascript技巧和代码片段,包括整理的其他大神的JS使用技巧,今天筛选了9个,以供大家参考。1、动态加载JS文件在一些特殊的场景下,特别是一些库和框架......
  • 火山引擎DataLeap数据调度实例的 DAG 优化方案(三):技术实现
    在原始数据中,是以一个数组的形式返回节点信息及依赖关系。所以,需要对数据进行处理形成图所需要的数据,同时,利用多个map对数据进行存储,方便后续对数据进行检索,减少时间复杂度。实例节点的样式需要通过基础图形Text(文本)、Rect(矩形)、Icon(图标)进行组合,以达到我们的设计要求。......
  • javascript基础2
    script标签里一旦使用src加载外部js文件后,这个script标签就不能写js语句了警告框!通知用户出错了。alert("哈哈!")输入框-输入内容prompt得到输入内容永远都是字符串varn1=prompt("第一个数")varn2=prompt("第二个数")问询框-confirm("呵呵")使用弹出框来显示结果......
  • JavaScript中实现文件上传下载的三种解决方案(推荐)
    ​ 以ASP.NETCoreWebAPI 作后端 API ,用 Vue 构建前端页面,用 Axios 从前端访问后端 API,包括文件的上传和下载。 准备文件上传的API #region 文件上传  可以带参数        [HttpPost("upload")]        publicJsonResultuploadProject(I......
  • 3D模型渲染引擎6大特点解读:助力AR/VR呈现惊叹的视觉效果!
    一、用于桌面、移动和AR/VR应用程序的2D和3D图形引擎HOOPSVisualize是一个3D图形SDK,可以快速开发高性能、跨平台的工程应用程序。主要特点包括:以工程为中心的高性能可视化,使用高度优化的OpenGL或DirectX驱动程序以充分利用可用的图形硬件程安全的C++和C#接口,在内部利......
  • clip-path 剪切不规则路径后,阴影不生效问题
    正常来说:我们使用box-shadow都是能够生效的,但由于使用了clip剪切功能,使用阴影被剪切了所以我们在使用clip的时候只需要超出path就行了,比如:height:50px;width:100px;background:antiquewhite;clip-path:polygon(50%10%,0%100%,100%100%);box-......