String.prototype是什么以及怎么使用

来源:互联网 发布:aipc 性能测试 知乎 编辑:程序博客网 时间:2024/06/05 03:46
    /String.prototype使用    

String.prototype用于为某字符串对象新增方法,比如:
在javascript中有一方法replace,它是用于替换某字符串中第一个匹配的字符,如果我们想为它追加一个循环匹配所有字符的方法时,可以这样子:
String.prototype.replaceAll = function(oldStr, newStr) {
   return this.replace(new RegExp(oldStr,"gm"),newStr); 
}
 
有了这一句以后,我们就可以用jquery类似这样子搞了:
var bodyString = $("body").html().replaceAll("张清云","只是个传说");
 
这样子,凡是在body中出现了"张清云"类似的字符,就会被替换为"只是个传说"了。
没有上面的定义的话,html().replaceAll(.....) 是执行不了的。因为没有replaceAll这个方法。
 
另外,上面的方法也不错,mark!

    //批量替换,比如:str.ReplaceAll([/a/g,/b/g,/c/g],["aaa","bbb","ccc"])     
    String.prototype.ReplaceAll=function (A,B) {             var C=this;             for(var i=0;i<A.length;i++) {                 C=C.replace(A[i],B[i]);             };             return C;         };   

    // 去掉字符两端的空白字符     
    String.prototype.Trim=function () {             return this.replace(/(^[/t/n/r]*)|([/t/n/r]*$)/g,'');         };   
    // 去掉字符左边的空白字符     
 
   String.prototype.LTrim=function () {             return this.replace(/^[/t/n/r]/g,'');         };    
    // 去掉字符右边的空白字符     
    String.prototype.RTrim=function () {             return this.replace(/[/t/n/r]*$/g,'');         };     
    // 返回字符的长度,一个中文算2个    
 String.prototype.ChineseLength=function()         {              return this.replace(/[^/x00-/xff]/g,"**").length;         };     
    // 判断字符串是否以指定的字符串结束    
String.prototype.EndsWith=function (A,B) {             var C=this.length;             var D=A.length;             if(D>C)return false;             if(B) {                 var E=new RegExp(A+'$','i');                 return E.test(this);             }else return (D==0||this.substr(C-D,D)==A);         };  
    // 判断字符串是否以指定的字符串开始    
 String.prototype.StartsWith = function(str)          {             return this.substr(0, str.length) == str;         };     
    // 字符串从哪开始多长字符去掉    
  String.prototype.Remove=function (A,B) {             var s='';             if(A>0)s=this.substring(0,A);             if(A+B<this.length)s+=this.substring(A+B,this.length);             return s;         };  
    //  从右边截取指定长度的子串
 String.prototype.Right=function(n){      var str=this.slice(this.length-n);      return str;    }


原创粉丝点击