JavaScript中的trim自定义

先直接贴代码

 1 String.prototype.trimfy=function (val){
 2         var demo=String(this);        
 3         if(demo.indexOf(val)>=0){            
 4             if(demo.substring(demo.indexOf(val),val.length)===val){
 5                  demo=demo.substring(demo.indexOf(val)+val.length);
 6             }
 7         }
 8         if(demo.lastIndexOf(val)>=0){
 9             if(demo.substring(demo.lastIndexOf(val))===val){
10                  demo=demo.slice(0,demo.lastIndexOf(val));
11             }
12         }        
13         if(demo.indexOf(val)==0||demo.lastIndexOf(val)==0){
14           demo= demo.trimfy(val);
15         }
16         return demo;
17     }

调用方法

console.log("前"+"aaba".trimfy("a")+"后")
console.log("前"+"aaba".trimfy("aa")+"后")

 首先这个方法时扩展到了String原型上,判断逻辑也比较简单,清除indexOf和lastIndexOf等于0的字符串并保留剩下的部分,再使用递归方式找到最终的字符串。

 如果想只清除首位或者末尾的字符串 方法可以继续扩展,此处不在说明

原文地址:https://www.cnblogs.com/DDSkay/p/7705332.html