JS之常用字符串处理类

 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());


原文地址:https://www.cnblogs.com/huangcaijin/p/12841763.html