基本包装类型—String类型

  • 属性:length
    string类型的每个实例都有一个length属性,表示该字符串中包含多个字符。
    var stringValue="hello world";
    alert(stringValue.length);//11
  • 字符方法:charAt()与charCodeAt()
    这是两个用于访问字符串中特定字符的方法,两个方法都接收一个参数,即基于0的字符位置。
  • charAt():以单字符的形式返回给定位置的那个字符。
    var stringValue="hello world";
    var s1=stringValue.charAt(1);
    alert(s1);//e
  • charCodeAt():返回给定位置的那个字符的字符编码。
    var stringValue="hello world";
    var s1=stringValue.charCodeAt(1);
    alert(s1);//101
  • 括号加索引法
    var stringValue="hello world";
    alert(stringValue[1]);//e
  • 字符串操作方法
  • concat():用于将一个或多个字符串拼接起来,返回拼接得到的新字符串。
    var stringValue="hello ";
    var result=stringValue.concat('world')
    alert(result);//hello world
    但实践中,达到相同的效果,更多的使+号操作符。
    var stringValue="hello ";
    var result=stringValue+'world';
    alert(result);//hello world
  • 返回子字符串,接受两个参数,第一个表示子字符串开始的位置,第二个表示子字符串结束的位置。
    • slice():第二个参数表示子字符串最后一个字符后面的位置
    • substring():第二个参数,同上
    • substr():第二个参数表示返回的字符个数。
      以上三个方法,如果没有第二个参数,则将字符串的长度作为结束位置。
      var stringValue="hello world";
      var re1=stringValue.slice(3);//lo world
      var re2=stringValue.substring(3);//lo world
      var re3=stringValue.substr(3);//lo world
      var stringValue="hello world";
      var re1=stringValue.slice(3,7);//lo w
      var re2=stringValue.substring(3,7);//lo w
      var re3=stringValue.substr(3,7);//lo worl
      当存在负数的情况下,如果只有一个负数,.slice() .substr()表示从右面数,保留负数的绝对值个。.substring()把所有负数转化为0。
      var stringValue="hello world";
      var re1=stringValue.slice(-3);//rld
      var re2=stringValue.substring(-3);//hello world
      var re3=stringValue.substr(-3);//rld
      如果第二个参数出现负数,.slice()从右数,去除负数的绝对个 .substr()负数转换为零,及选中零个字符,.substring()负数转换零,颠倒正负数位置。
      var stringValue="hello world";
      var re1=stringValue.slice(4,-3);//o wo
      var re2=stringValue.substring(4,-3);//hell
      var re3=stringValue.substr(4,-3);//""
  • 字符串位置方法
    从字符串中查找子字符串位置。
    var stringValue="hello world";
    var re1=stringValue.indexOf('o'); //4,左数
    var re2=stringValue.lastIndexOf('o');//7,右数
    两个参数时,第二个参数,表示开始搜索字符的位置,前者表示在第二个参数之后,后者表示在第二个参数之前搜索。
    var stringValue="hello world";
    var re1=stringValue.indexOf('o',6); //7
    var re2=stringValue.lastIndexOf('o',6);//4
    【应用】
    //搜索一段字符中lina出现的次数
    var stringValue="hi my name is lina,hey lina,lina! im nali";
    var positions=new Array();
    var pos=stringValue.indexOf('lina');
    while(pos>-1){
    positions.push(pos);
    pos=stringValue.indexOf('lina',pos+1)
    }
    var l=positions.length;
    alert('lina共出现'+l+'次');//4次
  • trim()方法
    支持这个方法的浏览器有IE9+,FireFox3.5+,Safari5+,Opera10.5+.Chrome.
    这个方法可以制造一个去掉前后空格的副本。
    var stringvalue=' hello ';
    alert(stringvalue.length);//20
    var str_trim=stringvalue.trim();
    alert(str_trim.length);//5
  • 字符串大小写转换法
    有四种方法,带local的方法,是在不知道代码将在哪种语言环境下运行的情况下,选择针对本地环境运行。
    var stringvalue="hello";
    alert(stringvalue.toLowerCase());//hello
    alert(stringvalue.toUpperCase());//HELLO
    alert(stringvalue.toLocaleLowerCase());//hello
    alert(stringvalue.toLocaleUpperCase());//HELLO
  • 字符串模式匹配法
    • match() 只接受一个参数,要么是一个正则表达式,要么是一个RegExp对象。返回一个数组,数组的第一项是与整个模式第一个匹配的字符串,之后的每一项保存着与正则表达式中捕获组匹配的字符串。
      var text="cat,bat,sat,fat";
      var pattern=/.at/;
      var matches=text.match(pattern);//cat
    • search()只接受一个参数,与match相同, 但是返回的是字符串中第一个匹配项的索引,如果没有找到匹配项,那么返回-1
      var text="cat,bat,sat,fat";
      var pattern=/at/;
      var pos=text.search(pattern);
      alert(pos);//1
  • replace()这个方法接受两个参数,第一个参数可以是一个正则表达式,也可以是一个不会转化为正则表达式的字符串,第二个参数,可以是一个字符串或者是一个函数。
    var text="cat,bat,sat,fat";
    var result=text.replace('at','ond');//cond,bat,sat,fat
    alert(result)
    var text="cat,bat,sat,fat";
    var result=text.replace(/at/g,'ond');//cond,bond,sond,fond
    alert(result)
    第一个参数如果是字符串,只是简单的找到第一个匹配的字符串然后替换。
    第一个参数选择一个带有全局标志的正则表达式,可以很哈的替换全局中的匹配项。
    在第二个参数上,做一些修饰:
    var text="cat,bat,sat,fat";
    var result=text.replace(/(.a)(t)/g,'world($1)');//world(ca),world(ba),world(sa),world(fa)
    var result=text.replace(/(.a)(t)/g,'world($2)');//world(t),world(t),world(t),world(t)
    该方法的第二个参数也可以是一个函数
    function htmlEscape(text){
    return text.replace(/[<>"&]/g,function(match,pos,originalText){
    switch (match){
    case "<":
    return "<";
    case ">":
    return ">";
    case "&":
    return "&";
    case """:
    return """;
    }
    })
    }
    alert(htmlEscape("

    hello world

    "));
    第二个参数:函数,所包含的参数分别是:模式的匹配项,模式匹配项在字符串中的位置和原始字符串。
    该函数的目的是转义四个字符。
  • split()这个方法基于指定的分隔符,将一个字符串分割成多个字符串。
    var colorText="red,blue,green,yellow";
    var colors1=colorText.split(',');//
    var colors2=colorText.split(',',2);//第二个参数用于指定数组的大小
    var colors3=colorText.split(/[^,]+/);
  • localeCompare() 比较两个字符串,比较的是该字符出现在字母表的前后顺序,后者大于前者返回1,相等返回0,小于返回-1.
    var stringvalue='yellow';
    alert(stringvalue.localeCompare('brick'));//1
  • fromCharCode()方法,接受一个或多个字符编码,将他们,转换成字符串。
    alert(String.fromCharCode(104,101,108,108,111));//hello

你可能感兴趣的:(基本包装类型—String类型)