1.日期格式化函数
代码:
Date.prototype.Format = function(fmt){
var o = {
"m+" : this.getMonth()+1, //月份
"d+" : this.getDate(), //日
"h+" : this.getHours(), //小时
"i+" : this.getMinutes(), //分
"s+" : this.getSeconds(), //秒
};
if(/(y+)/.test(fmt)){
fmt = fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));
}
for(var k in o){
if(new RegExp("("+ k +")").test(fmt)){
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
}
}
return fmt;
}
使用方式:
new Date().Format('yyyy-mm-dd')
new Date().Format('yyyy/mm/dd')
2.模板引擎
代码
<script type="text/html" id="tpl">
<ul>
<% for ( var i = 0; i < users.length; i++ ) { %>
<li>
<a href="<%=users[i].url%>">
<%=users[i].name%>
</a>
</li>
<% } %>
</ul>
</script>
<script type="text/javascript">
function template(id,obj){
var html=document.getElementById(id).innerHTML;
var result="var p=[]; with(obj){p.push('"
+html.replace(/[\r\n\t]/g,"")
.replace(/<%=(.*?)%>/g,"');p.push($1);p.push('")
.replace(/<%/g,"');")
.replace(/%>/g,"p.push('")
+" ');}return p.join('');";
console.log(result);
var fn=new Function("obj",result);
return fn(data);
}
var data ={users:[{url:2,name:'ray'},{url:1,name:'ray0324'}]};
var str = template('tpl',data);
document.getElementById('wrap').innerHTML =str;