20个常用的JavaScript字符串方法

摘要: 玩转JS字符串。

Fundebug经授权转载,版权归原作者所有。

本文主要介绍一些最常用的JS字符串函数。

1. charAt(x)

charAt(x)返回字符串中x位置的字符,下标从 0 开始。

    //charAt(x)
    var myString = 'jQuery FTW!!!';
    console.log(myString.charAt(7));
    //output: F

2. charCodeAt(x)

`charCodeAt(x)`返回字符串中`x`位置处字符的`unicode`值。

    //charAt(position)
    var message="jquery4u"
    //alert "113"
    alert(message.charAt(1)

3. concat(v1,v2..)

concat() 方法用于连接两个或多个字符串,此方法不改变现有的字符串,返回拼接后的新的字符串。

    //concat(v1, v2,..)
    var message="Sam"
    var final=message.concat(" is a"," hopeless romantic.")
    //alerts "Sam is a hopeless romantic."
    alert(final)

4. fromCharcode(c1,c2)

fromCharcode(c1,c2)转换一组Unicode值转换为字符。

    //fromCharCode(c1, c2,...)
    console.log(String.fromCharCode(97,98,99,120,121,122))
    //output: abcxyz
    console.log(String.fromCharCode(72,69,76,76,79))
    //output: HELLO

5. indexOf(substr, [start])

indexOf方法搜索并(如果找到)返回字符串中搜索到的字符或子字符串的索引。如果没有找到,则返回-1Start是一个可选参数,指定字符串中开始搜索的位置,默认值为0

    //indexOf(char/substring)
    var sentence="Hi, my name is Sam!"
    if (sentence.indexOf("Sam")!=-1)
    alert("Sam is in there!")

6. lastIndexOf(substr, [start])

lastIndexOf() 方法返回指定文本在字符串中最后一次出现的索引, 如果未找到,则返回-1。 “Start”是一个可选参数,指定字符串中开始搜索的位置, 默认值为string.length-1

    //lastIndexOf(substr, [start])
    var myString = 'javascript rox';
    console.log(myString.lastIndexOf('r'));
    //output: 11

7. match(regexp)

根据正则表达式在字符串中搜索匹配项。如果没有找到匹配项,则返回一个信息数组或null

    //match(regexp) //select integers only
    var intRegex = /[0-9 -()+]+$/;  
     
    var myNumber = '999';
    var myInt = myNumber.match(intRegex);
    console.log(isInt);
    //output: 999
     
    var myString = '999 JS Coders';
    var myInt = myString.match(intRegex);
    console.log(isInt);
    //output: null

8. replace(regexp/substr, replacetext)

replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

    //replace(substr, replacetext)
    var myString = '999 JavaScript Coders';
    console.log(myString.replace(/JavaScript/i, "jQuery"));
    //output: 999 jQuery Coders
     
    //replace(regexp, replacetext)
    var myString = '999 JavaScript Coders';
    console.log(myString.replace(new RegExp( "999", "gi" ), "The"));
    //output: The JavaScript Coders

9. search(regexp)

search() 方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,如果找到,返回与 regexp 相匹配的子串的起始位置,否则返回 -1

    //search(regexp)
    var intRegex = /[0-9 -()+]+$/;  
     
    var myNumber = '999';
    var isInt = myNumber.search(intRegex);
    console.log(isInt);
    //output: 0

10. slice(start, [end])

slice() 方法可提取字符串的某个部分,返回一个新的字符串。包括字符串从 start 开始(包括 start)到 end 结束(不包括 end)为止的所有字符。

    //slice(start, end)
    var text="excellent"
    text.slice(0,4) //returns "exce"
    text.slice(2,4) //returns "ce"

11. split(delimiter, [limit])

split() 方法用于把一个字符串分割成字符串数组,返回一个字符串数组返回的数组中的字串不包括 delimiter自身。 可选的“limit”是一个整数,允许各位指定要返回的最大数组的元素个数。

12. substr(start, [length])

substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。返回一个新的字符串,包含从 start(包括 start 所指的字符) 处开始的 length 个字符。如果没有指定 length,那么返回的字符串包含从 start 到该字符串的结尾的字符。

    //substring(from, to)
    var text="excellent"
    text.substring(0,4) //returns "exce"
    text.substring(2,4) //returns "ce"

13. substring(from, [to])

substring() 方法用于提取字符串中介于两个指定下标之间的字符,方返回的子串包括 start 处的字符,但不包括 stop 处的字符,to 可选,如果省略该参数,那么返回的子串会一直到字符串的结尾。

    //substring(from, [to])
    var myString = 'javascript rox';
    myString = myString.substring(0,10);
    console.log(myString)
    //output: javascript

14. toLowerCase()

toLowerCase() 方法用于把字符串转换为小写。

    //toLowerCase()
    var myString = 'JAVASCRIPT ROX';
    myString = myString.toLowerCase();
    console.log(myString)
    //output: javascript rox

15. toUpperCase()

toUpperCase() 方法用于把字符串转换为大写。

    //toUpperCase()
    var myString = 'javascript rox';
    myString = myString.toUpperCase();
    console.log(myString)
    //output: JAVASCRIPT ROX

16. includes()

includes() 方法用于检查字符串是否包含指定的字符串或字符。

    //includes()
    var mystring = "Hello, welcome to edureka";
    var n = mystring.includes("edureka");
    //output: True

17. endsWith()

endsWith()函数检查字符串是否以指定的字符串或字符结束。

    //endsWith()
    var mystr = "List of javascript functions";
    var n = mystr.endsWith("functions");
    //output: True

18. repeat()

repeat() 构造并返回一个新字符串,该字符串包含被连接在一起的指定数量的字符串的副本。

    //repeat()
    var string = "Welcome to Edureka";
    string.repeat(2);
    //output: Welcome to Edureka Welcome to Edureka

19. valueOf()

valueOf() 方法返回一个String对象的原始值(primitive value),该值等同于String.prototype.toString()

    //valueOf()
    var mystr = "Hello World!";
    var res = mystr.valueOf();
    //output: Hello World!

20. trim()

trim() 方法会从一个字符串的两端删除空白字符。在这个上下文中的空白字符是所有的空白字符 (space, tab, no-break space 等) 以及所有行终止符字符(如 LF,CR)

    //trim()
    var str = "     Hello Edureka!     ";
    alert(str.trim());

代码部署后可能存在的BUG没法实时知道,事后为了解决这些BUG,花了大量的时间进行log 调试,这边顺便给大家推荐一个好用的BUG监控工具 Fundebug

关于Fundebug

Fundebug专注于JavaScript、微信小程序、微信小游戏、支付宝小程序、React Native、Node.js和Java线上应用实时BUG监控。 自从2016年双十一正式上线,Fundebug累计处理了20亿+错误事件,付费客户有阳光保险、核桃编程、荔枝FM、掌门1对1、微脉、青团社等众多品牌企业。欢迎大家免费试用

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

推荐阅读更多精彩内容