Javascript笔记-string

javascript学习笔记

String方法

  • 字符方法
  1. charAt():取出特定位置的字符
    sample:
      var stringValue = "Hello world";
      alert(stringValue.charAt(1)) //"e"
    
  2. charCodeAt():取出特定位置字符的Unicode编码
    sample:
      var stringValue = "foobar";
      alert(stringValue.charCodeAt(3));//"o"
    
  • 字符串操作
  1. concat():多个字符串拼接,它会把参数中的数组一项项的添加到字符串中拼接
    sample:

    var stringValue="Hello ";
    var result=stringValue.concat('wonderful ','world','!')\\"Hello wonderful world!"
    result=stringValue.concat(['you','jjj'],"1");\\"Hello you,jjj1"
    
  2. slice():返回子字符串,如果没有第二个参数,那么返回从第一个参数到最后的所有内容
    如果有第二个参数那么返回从第一个参数起始到第二个参数截止的所有内容,不包含第二个
    参数的那个字符,如果参数中有负数,表示倒数第几,
    sample:

    var stringValue="Hello world";
    alert(stringValue.slice(3));//从第三开始到左后'lo world'
    alert(stringValue.slice(2,8));//从第二开始到第8(不含第八)"llo wo"
    alert(stringValue.slice(-3));//从倒数第三开始到最后 "rld"
    alert(stringValue.slice(-4,-1));//从倒数第四开始到倒数第一(不包含) "orl"
    
  3. substr():如果参数中没有负数,那么和slice完全一样,如果参数中有负数。就有
    差别了。sybstr把第一个参数作为倒数第几,第二个参数是负数的话,自动转换为0
    sample:

    var stringValue="Hello world";
    alert(stringValue.substr(-3));//从倒数第三开始到最后 "rld"
    alert(stringValue.substr(-3,-2));//从倒数第三开始第一个 就是空 ""
    
  4. substring:第一个参数是起始位置,第二个参数是返回的字符个数。如果没有
    第二个参数,那么返回从起始到最后的所有字符。如果有负数,所有负数的参数
    都会设置为0
    sample:

    var stringValue="Hello world";
    alert(stringValue.substring(-3));//""
    
    
  • 字符串位置方法:
    stringA.indexOf(stringB): 从左往右的在A字符串中寻找B字符串第一次出现的位置,
    如果没找到,返回-1。 第二个参数是从哪个字符开始查找。
    stringA.lastIndexOf(stringB):从右往左的在A字符串中寻找B字符串第一次出现的位置,
    如果没找到,返回-1。 第二个参数是从哪个字符开始查找。
    sample1:

      var strA="Hello,world!";
      alert(strA.lastIndexOf("o"));//7
      alert(strA.indexOf('o'));//4
      alert(strA.indexOf("o",6));//7
      alert(strA.lastIndexOf("o",6));//4
    

    sample2:

      var strA="Geer is a teacher and her father is layer!";
      var position=new Array();
      var pos = strA.indexOf('er');
      while (pos > -1){
        position.push(pos);
        pos = strA.indexOf('er',pos+2);
      }
      alert(position); //[2, 15, 23, 30, 39]
    
  • trim():返回去掉字符串两边的空格之后的字符串。
    sample:

      var strA = "  Hello world!   "
      alert(strA.trim());//"Hello world!"
    
  • 字符串大小写转换:
    toLowerCase()
    toLocaleLowerCase()//基本不用
    toUpperCase()
    toLocaleUpperCase()//基本不用

  • 字符串的模式匹配方法:
    match()
    sample:

      var text='cat,bat,sat,fat';
      var pattern = /.at/;
      //与pattern.exec(text)相同
      var matchs=text.match(pattern);//返回一个数组
    
    

    search():与indexOf类似,返回从左往右寻找匹配模式的
    第一次出现的位置
    sample:

      var text = "cat, bat, sat, fat";
      var pos = text.search(/at/);
      alert(pos); //1
    

    replace():第一个参数是RegExp或者字符串,第二个参数是
    一个字符串或者一个函数,如果是字符串就是替换的字符串。如果
    想替换所有字字符串,那需要使用正则表达式。
    replace()方法的第二个参数也可以是一个函数,需要向这个函数
    传递三个参数,模式的匹配项、匹配项在字符串中的位置、原始字符串
    _sample_1:

      var text = "cat,bat,sat,fat";
      var result = text.replace("at","ond");//只替换第一个at
      result=text.replace(/at/g,"ond");//字符串中所有的at都替换为ond
      result=text.replace(/(.at)/g,"find($1)");//"find(cat),find(bat),find(sat),find(fat)"
    

    sample2:

      function htmlEscape(text){
        return text.replace(/[<>"&]/g,function(match,pos,originalText){
          switch(match){
            case "<":
              return "&lt;";
            case ">":
              return "&gt;";
            case "&":
              return "&amp;";
            case "\"":
              return "&quot;";
          }
        });
      }
    
      alert(htmlEscape("<p class=\"greeting"))
    
    

    split():把字符串按照指定分隔符分割,放在数组中。
    sample:

      var color = "red,blue,yellow,brwon";
      var arrC1 = color.split(",");//["red", "blue", "yellow", "brown"]
      var arrC2 = color.split(",",2)//指定返回数组大小["red","blue"]
    
  • strA.localCompare(strB)方法
    如果strA排在strB的前面返回负数,-1
    如果strA==strB,返回0;
    如果strA排在strB的后面返回正数,1
    sample:

      var strA="Hello";
      alert(strA.localeCompare("zoo"));//-1
      alert(strA.localeCompare("aoo"));//1
    
  • fromCharCode():静态方法,从unicode返回字符

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,122评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,070评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,491评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,636评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,676评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,541评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,292评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,211评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,655评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,846评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,965评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,684评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,295评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,894评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,012评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,126评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,914评论 2 355

推荐阅读更多精彩内容