1、模板方法替换时,正则使用问题。
主要问题就是在js里面,要双斜杠转义
1var regex = new RegExp("(\\{\\{"+i+"\}\})","g");贴一下所有的代码
template模板
12345678 var template =" <div class='tag'><font>*</font><span>{{0}}</span></div> " + /*证件照*/" <img alt='' src='${contextPath}/js/AjaxFileUploader/loading.gif' style='display: none;' id='{{1}}'>" + //id='loadingimgA'" <input class='real_file' type='file' name='upload' onchange='uploadPicture("+'{{2}}'+")' accept='image/*' capture='camera' style='display: none' id='{{3}}' /> " +" <input class='real_button uploadImg required' id='{{3}}' type='button' value='上传图片' style='display:none' action='{{8}}'>" +" <input type='hidden' id='{{4}}' name='{{5}}' value='' /> " + // id="imgShowHidden" name="myAccountVo.credentialImgFrontPath"" </div>" +" </div>";
mobDefault集合map参数
12345678 var mobDefault = {title : "证件照" , //{{0}}inp_file_id : img_id, //{{1}}img_container_id : img_id+"Container", //{{2}}img_sample_id : img_id+"Show" , //{{3}}inp_file_id : img_id, //{{4}}img_loading_id : img_id+"Loading", //{{5}}};
模板替换方法
定义在String的原型里面了,直接拓展String的方法
12345678910111213 /*** 模板替换方法*/String.prototype.template=String.prototype.template || function(){var args=arguments[0];var i = 0;for(var key in args){var regex = new RegExp("(\\{\\{"+i+"\}\})","g");mobileTemplate = mobileTemplate.replace(regex, args[key]);i++;}return mobileTemplate;}