基本包装类型—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("<p class="greeting">hello world</p>"));
    第二个参数:函数,所包含的参数分别是:模式的匹配项,模式匹配项在字符串中的位置和原始字符串。
    该函数的目的是转义四个字符。
  • 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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,884评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,347评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,435评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,509评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,611评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,837评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,987评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,730评论 0 267
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,194评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,525评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,664评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,334评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,944评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,764评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,997评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,389评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,554评论 2 349

推荐阅读更多精彩内容