<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>时间格式转换</title> </head> <body> <script type="text/javascript"> //思考题 //需求:我有一个时间字符串 '2017-4-22 18:9:35' => '2017年04月22日 18时09分35秒' 或者 '04-22 18:09' ... 替换为任意想要的 var str="2017-4-22 18:9:35";//->"2017年04月22日18是09分35秒" 或者 "04-22 19:09" var reg=/^(d{4})-(d{1,2})-(d{1,2})s(d{1,2}):(d{1,2}):(d{1,2})$/g; console.log(str.replace(reg, function () { for (var i = 0; i < arguments.length; i++) { arguments[i]=addZero(arguments[i]); } return arguments[1] + "年" + arguments[2] + "月" + arguments[3] + "日" + arguments[4] + "时" + arguments[5] + "分" + arguments[6] + "秒"; })); console.log(str.replace(reg, function () { for (var i = 0; i < arguments.length; i++) { arguments[i]=addZero(arguments[i]); } return arguments[2] + "-" + arguments[3] + " " + arguments[4] + ":" + arguments[5] ; })); function addZero() { if(arguments[0].length==1){ return "0"+arguments[0]; }else{ return arguments[0]; } } //==================附加============== //需求:我有一个字符串 'xxx.xxx.xx?a=1&b=2&c=3' => {a:1,b:2,c:3} var str1="xxx.xxx.xx?a=1&b=2&c=3";//->{a:1,b:2,c:3} var reg1=/w{3}.w{3}.w{2}?a=(d+)&b=(d+)&c=(d+)/g; console.log(str1.replace(reg1, function () { return "{a:" + arguments[1] + ",b:" + arguments[2] + ",c:" + arguments[3] + "}"; })); </script> </body> </html>