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(){ //...代码略 };