javascript常用静态方法类分享

发布时间:2019-12-02编辑:脚本学堂
一些javascript常用静态方法类的代码,包括each、len、format、setcookie、getcookie等方法的例子,需要的朋友参考下。

代码:
 

复制代码 代码示例:
util=function(){
return {
$:function(id){
return document.getElementById(id);
},
trim:function(str){
return str.replace(/(^s+)|(s+$)/g, "");
},
len:function(str){  
return str.replace(/[^x00-xff]/g,'**').length;  
},
format:function(str){
var arg = arguments;
return str.replace(/{(d+)}/g, function(m, i){
return arg[parseInt(i)+1];
});
},
each:function(object, callback, args){
var name, i = 0, length = object.length;
if ( args ) {
if ( length === undefined ) {
for ( name in object )
if ( callback.apply( object[ name ], args ) === false )
break;
} else
for ( ; i < length; )
if ( callback.apply( object[ i++ ], args ) === false )
break;
} else {
if ( length === undefined ) {
for ( name in object )
if ( callback.call( object[ name ], name, object[ name ] ) === false )
break;
} else
for ( var value = object[0];
i < length && callback.call( value, i, value ) !== false; value = object[++i] ){}
}
},
setCookie:function(name,value,hours,path,domain){
var str=new String();
var nextTime=new Date();
nextTime.setHours(nextTime.getHours()+hours);
str=name+"="+escape(value);
if(hours)
str+=";expires="+nextTime.toGMTString();
if(path)
str+=";path="+path;
if(domain)
str+=";domain="+domain;
document.cookie=str;
},
getCookie:function(name){
var rs=new RegExp("(^|)"+name+"=([^;]*)(;|$)","gi").exec(document.cookie),tmp;
if(tmp=rs)
return unescape(tmp[2]);
return null;
},
delCookie:function(name){
document.cookie = name + "=-1" + "; expires=Fri, 31 Dec 1999 23:59:59 GMT;";
},
/**
*url String
*parms String
*method String default value "get"
*asy Boolean defalut value true
*success Function(http_request.responseText)
**/
ajax:function(config){
var url=config.url,
parms=(config.parms?config.parms:"") + "&t="+new Date().getTime(),
method=config.method||"get",
asy=true;
var http_request=null;
if(method.toLowerCase()=="get"){
url=url+"?"+parms;
parms=null;
}
//开始初始化XMLHttpRequest对象
if(window.XMLHttpRequest) { //Mozilla 浏览器
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {//设置MiME类别
http_request.overrideMimeType("text/xml");
}
} else if (window.ActiveXObject) { // IE浏览器
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if(!http_request) { // 异常,创建对象实例失败
throw new Error("不能创建XMLHttpRequest对象实例.");
return null;
}
http_request.open(method,url,asy);
http_request.onreadystatechange=function(){
if (http_request.readyState == 4){
try{
if (http_request.status == 200){
config.success(http_request.responseText);
}
}catch(e){
throw new Error("数据读取失败.");
}
}
};
if(method.toLowerCase()=="post"){
http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
}
http_request.send(parms);
}
};
}();