前端自定義format函數,做字符串格式化功能
阿新 • • 發佈:2019-04-10
函數 span body 就會 mat 正則匹配 成功 war 字符
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>自定義format函數,做字符串格式化功能</title> </head> <body> <script> String.prototype.format = function (kwargs) { //自定義定義format方法,這樣字符串就多了一個自定義format方法kwargs接收字符串傳來的字典//this就是當前調用這個方法的對象xixi。this= "xixi: {age} - {gender}" // kwargs={‘age‘:18,‘gender‘: ‘男‘} var ret = this.replace(/\{(\w+)\}/g,function (km,m) { //replace通過正則匹配this裏面以{}裏面的都替換,km是匹配成功的值{age}和{gender},m是在km基礎上把裏面的分組提取到是age和gender,ret就是最後被返回的值 return kwargs[m];//拿到18和男 }); return ret; //如果在這個函數有return的話匹配的位置就會被替換什麽 }; //需要格式化的函數 var v = "xixi: {age} - {gender}"; //v=xixi: {age} - {gender}要把{age} - {gender}格式化到{‘age‘:18,‘gender‘: ‘男‘}的指定位置 varresult = v.format({‘age‘:18,‘gender‘: ‘男‘}); //v.執行自定義format方法傳一個字典{‘age‘:18,‘gender‘: ‘男‘}進去,result就是格式化完成之後的值 console.log(result); //xixi: 18 - 男 </script> </body> </html>
格式化後:
xixi: 18 - 男
前端自定義format函數,做字符串格式化功能