5.6.3基本包装类型—String类型

1.字符方法

charAt()  :  返回单字符

charCodeAt()  : 返回字符编码

var s = "hello world";

alert(s.charAt(1))   //  "e"

alert(s.charCodeAt(1))   //  "101"

2.字符串方法

concat()  :  将一个或多个字符串拼接起来,在实践中更多用“+”号操作符更简便。
slice()  :  返回开始位置到结束位置之前字符串。

               参数都为负数时,每个参数加上字符串长度

substr()  :  返回开始位置,第二个参数字符个数

                 参数都为负数时,第一个参数加字符串长度,第二个参数变为0

substring() : 返回开始位置到结束位置之前字符串

                    参数都为负数时,每个参数变为0

栗子:var s="hello world"

           s.slice(-3)   // "rld'         s.slice(-3,-5)   //  等于  s.slice(8,6)   结果为 “”

           s.substr(-3)   // "rld"      s.substr(-3,-5)  // 等于  s.substr(8,0)  结果为 “”

           s.substring(-3)  // ""       s.substring(-3,-4)  //等于  s.substring(0,0)   结果为 “”

3.字符串位置方法

indexOf() : 从字符串开头向后搜索

lastIndexOf() : 从字符串末尾向前搜索

栗子: var s="hello world"

            s.indexOf("o")   // 4           s.indexOf("o",6)   //7 从位置6向后找‘o’

            s.lastIndexOf("o")   // 7      s.lastIndexOf("o",6)   //4  从位置6向前找‘o’
场景应用:循环调用上面两个方法找到所有匹配的字符串

            var strVal="Lorem ipsum dolor sit amet, consectetur adipisicing elit"

            var p=s.indexOf("e");  var arr=[];

            while(p>-1){

                   arr.push(p);

                   p=s.indexOf("e",p+1)  
             }

             console.log(arr)    //  [3,24,32,35,52]

 4.trim()方法        

删除前置及后缀的所有空格,返回结果

栗子:var s="   hello  world    " 

          var trims = s.trim()      //trims是 "hello  world"

5.字符串大小写转换方法  

toLowerCase()      针对特定地区的方法toLocaleLowerCase()

toUpperCase()      针对特定地区的方法 toLocaleUpperCase()

栗子:var s="hello world"

          s.toLowerCase()    //  "hello world"

         s.toLocaleLowerCase()   // "hello world"

         s.toUpperCase()     //  "HELLO WORLD"

         s.toLocalseUpperCase()   // "HELLO WORLD"

6.字符串匹配方法

match()      //本质上与调用RegExp的exec()方法相同

                    只接受一个参数,正则表达式的字符串或RegExp对象

                    返回一个数组

栗子:var text = "cat ,  bat , sat, fat";

           var pattern = /.at /;

           //与pattern.exec(text)相同

           var matches= text.match(pattern);

           matches.index  //0

           matches[0]       // 'cat'

search()    //本质上与调用RegExp的exec()方法相同

                   只接受一个参数,正则表达式的字符串或RegExp对象

                   返回位置

                   栗子:var text = "cat, bat, sat, fat";

                             var p=text.search(/at/);        等于   text.search("at")

                             //p是1

replace()     接受两个参数,第一个参数是regexp对象或字符串,第二个参数是一个字符串或函数。

                   如果第一个参数是字符串,那么只会替换第一个字符串。需替换所有字符串,唯一方法是提供一个正则表达式,并                       用全局(g)标志
                   栗子:var text = "cat, bat, sat, fat";

                              var r = text.replace("at","ond")       //r是  "cond, bat, sat, fat"

                              var r1 = text.replace(/at/g,"ond")    //r是  "cond, bond, sond, fond"

                   栗子2:第二个参数为函数,在只有一个匹配项(与模式匹配的字符串)的情况下,会向这个函数传递3个参数:模                                   式匹配项,模式匹配项在字符串中的位置,原始字符串。

                               function html(text){
                                    return text.replace(/[<>"&]/g,function(macth,pos,originalText){
                                               switch(macth){
                                                     case "<":
                                                            return "$lt";
                                                     case ">":
                                                            return "$gt";
                                                     case "\"":
                                                            return "$amp;";
                                                     case "&":
                                                            return "$quot;";
                                               }
                                     })
                                }
                               console.log(html("<p class=\"greeting\">hello world</p>"))
                              //  $ltp class=$amp;greeting$amp;$gthello world$lt/p$gt

                              这个函数能转义4个字符:<  >  "  &    实现这种转义的最简单方式,是使用正则表达式查找这几个字符,然后                                定义一个能够针对每个字符返回特定HTML实体的函数。

split()     将一个字符串分割成多个字符串,并将结果放在一个数组中。

             分割符可以是字符串,也可以是regexp对象

             第二个参数用于指定数组大小

             栗子:var text = "red,blue,green,yellow";

                        var t1=text.split(",")   //["red", "blue", "green", "yellow"]

                        var t2=text.split(",",2)   //["red", "blue"]

                        var t3=text.split(/[^\,]+/)  //["", ",", ",", ",", ""]

localeCompare()     比较两个字符串在字母表中的排序

                               如果参数排在字符串之前,返回1。排在之后返回-1。相同返回0。

                              栗子:var string = "yellow";
                                         function de(v){
                                               var r = string.localeCompare(v);
                                               if(r<0){
                                                      alert(v+"after"+string)
                                               }else if(r>0){
                                                      alert(v+"before"+string)
                                               }else{
                                                       alert(v+"equal"+string)
                                               }
                                       }
                                       de("zero")

发布了54 篇原创文章 · 获赞 8 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/yang295242361/article/details/90053543
今日推荐