如何在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>
作者:Zjmainstay
         
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
版权信息
原文地址:https://www.cnblogs.com/Zjmainstay/p/js_use_funcion_in_reg.html