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