1 class StrPlay extends String 2 { 3 constructor(str,length){ 4 super(str,length); 5 } 6 // 裁剪一定长度字符串 7 cut(end=80){ 8 try{ 9 return new StrPlay(this.slice(0,end)); 10 }catch(err){ 11 console.log(err); 12 } 13 } 14 // 获取中文字符 15 cwords(){ 16 try{ 17 return new StrPlay(this.match(/[u4e00-u9fa5《》()【】《》?“”‘’:。,!d]/g).join('')); 18 }catch(err){ 19 console.log(err); 20 } 21 } 22 // json类型字符串转json 23 json(){ 24 try{ 25 return JSON.parse(this); 26 }catch(err){ 27 console.log(err); 28 } 29 } 30 // 去空格 31 space(){ 32 try{ 33 return new StrPlay(this.replace(/s*/g,"")); 34 }catch(err){ 35 console.log(err); 36 } 37 } 38 //字符检查 39 check(rep){ 40 try{ 41 42 return this.match(rep)?this.match(rep):[]; 43 }catch(err){ 44 console.log(err); 45 } 46 } 47 // 去html标签 48 tags(){ 49 try{ 50 return new StrPlay(this.replace(/<(w*?)>|</w*?>|<w.*?>/g,"")); 51 }catch(err){ 52 console.log(err); 53 } 54 } 55 // 字符串连接 56 cat(){ 57 try{ 58 return new StrPlay(this + this.loop(arguments,function(item,index){ 59 return item.toString(); 60 }).join("")); 61 }catch(err){ 62 console.log(err); 63 } 64 } 65 // 遍历对象 66 loop(obj,back){ 67 let i = 0; 68 let arr = []; 69 while(obj[i]) 70 { 71 arr.push(back(obj[i],i)); 72 i++; 73 } 74 return arr; 75 } 76 // 是否在某个数组中 77 in_array(arr){ 78 let ai = null; 79 arr.filter((item,index)=>{ 80 if(item==this) 81 { 82 ai = index; 83 } 84 }); 85 return ai; 86 } 87 // 是否包含某个字符串 88 in_str(str){ 89 return this.indexOf(str) == -1 ? false : true; 90 } 91 92 }
1 let a=new StrPlay("<h1>this</h1> <span>is</span> <br />a <i>test</i> string 你好世界!");
2 alert(a.space().tags().cwords().cat("one ","two ","three").cut());