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>