javasript 字符串截取、轮换、包含

javasript 字符串截取、替换、包含

最近经常会用到前端处理字符的问题,现在记录一下关于用javascript对字符处理的操作。

 

前景:

       有两个简单字符字义,如下:

 

 

var str1 = "abcdefghijklmn";
var str2 = "0123456789";

 

 

1、判断str1字符中是否包含"hello"和"ghi"

 

 

if(str1.indexOf("hello") != -1){ return true;}
else return false;

很显然,结果是false。因为字符str1中并不包含字符hello。

 

同理:

 

 

if(str1.indexOf("ghi") != -1){ return true;}
else return false;

 返回的是true。

 

 

2、分别截取str1和str2中的字符"efgh"、"345"

方法:

     1、

//截取在原字符中的坐标,前后参数均为坐标值。
str1.substring(4,7);输出:efgh
str2.substring(4,6);输出:345

 

     2、

     

//截取时,第一参数为坐标,第二参数为长度。
str1.substr(4,4);输出:efgh
str2.substr(4,3);输出:345

 

3、替换字符为空或其它字符

 

方法:

 

str1.replace("efgh", "");

 

如果需要全部替换,则加"/g"

    

str1.replace("efgh"/g, "");

 另外,参数1也可以是正则,如果熟悉的话,会比较好用。参数2可以是函数:

 

   

str2.replace("345", function(w) {
      "$" + w.substring(0,1) + "-" + w.substring(1);
});

 

这时的输出结果是:012$3-456789。也就是说上例中的w是"345"