String对象方法扩展

/**
*字符串-格式化
*/
String.prototype.format = function(){
var args = arguments;//获取函数传递参数数组,以便在replace回调函数内使用
var regex = /\{(\d+)\}/g;//匹配并捕获所有 形如:{数字} 字串
return this.replace(regex,function(m,i){//参数=匹配子串+第几次匹配+匹配字串位置+源字符串
return args[i];
});
}
/**
*字符串-去掉前后空白字符
*/
String.prototype.trim = function(){
return this.replace(/(^\s*)|(\s*$)/g, "");
}
/**
*字符串-去掉前空白字符
*/
String.prototype.ltrim = function(){
return this.replace(/(^\s*)/g, "");
}
/**
*字符串-去掉后空白字符
*/
String.prototype.rtrim = function(){
return this.replace(/(\s*$)/g, "");
}
/**
*字符串-获取以ASCII编码字节数 英文占1字节 中文占2字节
*/
String.prototype.lenASCII=function(){
return this.replace(/[^\x00-\xff]/g,'xx').length;//将所有非\x00-\xff字符换为xx两个字符,再计算字符串
}
/**
*字符串-获取以UNICODE编码字节数 一个字符均占2个字节
*/
String.prototype.lenUNICODE=function(){
return this.length*2;
}
ps:若对js提供类型对象或自定义对象进行方法扩展,应利用原型prototype这个对象属性进行扩展,具体方式以下:

String.prototype.trim=function(){
//...代码略
};
String.prototype.ltrim=function(){
//...代码略
};

  

posted @ 2014-06-05 22:26  麦克优雅  阅读(226)  评论(0编辑  收藏  举报