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 @ 2012-10-31 16:10  Zjmainstay  阅读(1293)  评论(0编辑  收藏  举报