Tips:点此可运行HTML源码

如何在js正则表达式中使用函数

canrun

复制代码
 1 <html>
 2 <head>
 3     <title>如何在js正则表达式中使用函数</title>
 4     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 5     <meta http-equiv="Content-Language" content="zh-CN" />
 6     <script type="text/javascript" src="https://files.cnblogs.com/Zjmainstay/jquery-1.6.2.min.js"></script>
 7 </head>
 8 <body>
 9 <div id="result"></div>
10 <script type="text/javascript">
11 var str = '第1册第111册第123册第251册第1841册第110册第151册第4811册';
12 str = str.replace(/第(\d+)册/g,'+"第"+str_pad("$1",5,"0")+"册"');
13 str = eval(str.substring(1));
14 document.getElementById('result').innerHTML = str;
15 
16 /**
17  *@param str            初始字符串
18  *@param length            重复长度
19  *@param pad            填充字符
20  *@param type            填充类型
21  *@return str
22  */
23 function str_pad(str,length=5,pad=' ',type='left'){
24     if(isNaN(length)) length = 5;
25     length = Math.max(0,(length - str.length));
26     if(type == 'left'){
27         for(i=0;i<length;i++){
28             str = pad + str;
29         }
30     }else {
31         for(i=0;i<length;i++){
32             str += pad;
33         }
34     }
35     return str;
36 }
37 </script>
38 </body>
39 </html>
复制代码
posted @   Zjmainstay  阅读(1294)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示