1.實現功能:一個json格式資料data如: { name:’swh’,age:’20’ },另有一個字串str為 hello:{name},聽說你今年{age}了, Tempo.replace(data,str),則返回hello:swh,聽說你今年20了
實現過程 :
var Tempo = {}; Tempo._buildParseFunc = function(str){ str = str .replace(/([\'|\\])/gm,"\\$1") //轉義掉 \ 和 ' .replace(new RegExp('{([^{}]*)}','gim'),"'+(data.$1==null?'':data.$1)+'") //轉化為包括變數的字串 .replace(/[\n\r]/gm,'\\n'); //去除斷行符號換行 str = ["return '", str ,"';"].join(''); return new Function('data',str);};Tempo.replace = function(data,tplStr){ var_parse = this._buildParseFunc(tplStr); return _parse(data);};
2.去除空格
function cTrim(sInputString,iType){ var sTmpStr = ' ' var i = -1
//去除前空格 if(iType == 0 || iType == 1) { while(sTmpStr == ' ') { ++i sTmpStr = sInputString.substr(i,1) } sInputString = sInputString.substring(i) } //去除後空格 if(iType == 0 || iType == 2) { sTmpStr = ' ' i = sInputString.length while(sTmpStr == ' ') { --i sTmpStr = sInputString.substr(i,1) } sInputString = sInputString.substring(0,i+1) } return sInputString }