charAt()

  • 定义
    charAt() 方法从一个字符串中返回指定的字符。

  • 语法

    str.charAt(index)
    
  • 参数

    index
    一个介于0 和字符串长度减1之间的整数。 (0~length-1)
    如果没有提供索引,charAt() 将使用0。
    
  • 描述
    字符串中的字符从左向右索引,第一个字符的索引值为 0,
    最后一个字符(假设该字符位于字符串 stringName 中)的索引值为 stringName.length - 1。
    如果指定的 index 值超出了该范围,则返回一个空字符串。

  • 示例

    var anyString = "Brave new world";console.log("The character at index 0   is '" + anyString.charAt(0)   + "'");
    console.log("The character at index 1   is '" + anyString.charAt(1)   + "'");
    console.log("The character at index 2   is '" + anyString.charAt(2)   + "'");
    console.log("The character at index 3   is '" + anyString.charAt(3)   + "'");
    console.log("The character at index 4   is '" + anyString.charAt(4)   + "'");
    console.log("The character at index 999 is '" + anyString.charAt(999) + "'");
    // The character at index 0 is 'B'
    // The character at index 1 is 'r'
    // The character at index 2 is 'a'
    // The character at index 3 is 'v'
    // The character at index 4 is 'e'
    // The character at index 999 is ''
    

charCodeAt()

  • 定义
    charCodeAt() 方法返回 0 到 65535 之间的整数,表示给定索引处的 UTF-16 代码单元

  • 语法

    str.charCodeAt(index)
    
  • 参数

    index
    一个大于等于 0,小于字符串长度的整数。如果不是一个数值,则默认为 0。
    
  • 返回值

    指定 index 处字符的 UTF-16 代码单元值的一个数字;
    如果 index 超出范围,charCodeAt() 返回 NaN。
    
  • 示例

    "ABC".charCodeAt(0) // returns 65:"A""ABC".charCodeAt(1) // returns 66:"B""ABC".charCodeAt(2) // returns 67:"C""ABC".charCodeAt(3) // returns NaN
    

split()

  • 定义

    split() 方法使用指定的分隔符字符串将一个String对象分割成子字符串数组,
    以一个指定的分割字串来决定每个拆分的位置。
    
  • 语法

    str.split(separator, limit)
    
  • 参数

    separator指定表示每个拆分应发生的点的字符串。separator 可以是一个字符串或正则表达式。 如果纯文本分隔符包含多个字符,则必须找到整个字符串来表示分割点。如果在str中省略或不出现分隔符,则返回的数组包含一个由整个字符串组成的元素。如果分隔符为空字符串,则将str原字符串中每个字符的数组形式返回。
    limit可选。一个整数,限定返回的分割片段数量。当提供此参数时,split 方法会在指定分隔符的每次出现时分割该字符串,但在限制条目已放入数组时停止。如果在达到指定限制之前达到字符串的末尾,它可能仍然包含少于限制的条目。新数组中不返回剩下的文本。
    
  • 返回值

    返回源字符串以分隔符出现位置分隔而成的一个 Array
    
  • 示例

    //限制返回个数
    var myString = "Hello World. How are you doing?";
    var splits = myString.split(" ", 3);
    console.log(splits); //["Hello", "World.", "How"]
    var splits1 = myString.split(" ", -3);
    console.log(splits); //["Hello", "World.", "How"]//靠正则来分割使结果中包含分隔块
    var myString = "Hello 1 word. Sentence number 2.";
    var splits = myString.split(/(\d)/);
    console.log(splits);
    //[ "Hello ", "1", " word. Sentence number ", "2", "." ]//用split()来颠倒字符串顺序
    const str = 'asdfghjkl';
    const strReverse = str.split('').reverse().join(''); // 'lkjhgfdsa'
    // split() returns an array on which reverse() and join() can be applied//移出字符串中分号前的空格 传递一个正则
    var names = "Harry Trump ;Fred Barney; Helen Rigby ; Bill Abel ;Chris Hand ";
    console.log(names);
    var re = /\s*(?:;|$)\s*/;
    var nameList = names.split(re);
    console.log(nameList);
    //Harry Trump ;Fred Barney; Helen Rigby ; Bill Abel ;Chris Hand
    //[ "Harry Trump", "Fred Barney", "Helen Rigby", "Bill Abel", "Chris Hand", "" ]
    

substring()

  • 定义

    substring() 方法返回一个字符串在开始索引到结束索引之间的一个子集,
    或从开始索引直到字符串的末尾的一个子集。
    
  • 语法

    str.substring(indexStart[, indexEnd])
    
  • 参数

    indexStart需要截取的第一个字符的索引,该索引位置的字符作为返回的字符串的首字母。
    indexEnd可选。一个 0 到字符串长度之间的整数,以该数字为索引的字符不包含在截取的字符串内。
    
  • 返回值

    包含给定字符串的指定部分的新字符串。
    
  • 描述

    substring 提取从 indexStart 到 indexEnd(不包括)之间的字符。特别地:如果 indexStart 等于 indexEnd,substring 返回一个空字符串。
    如果省略 indexEnd,substring 提取字符一直到字符串末尾。
    如果任一参数小于 0 或为 NaN,则被当作 0。
    如果任一参数大于 stringName.length,则被当作 stringName.length。
    如果 indexStart 大于 indexEnd,则 substring 的执行效果就像两个参数调换了一样。
    见下面的例子。
    
  • 示例

    var anyString = "Mozilla";
    // 输出 "Moz"
    console.log(anyString.substring(0,3));
    console.log(anyString.substring(3,0));
    console.log(anyString.substring(3,-3));
    console.log(anyString.substring(3,NaN));
    console.log(anyString.substring(-2,3));
    console.log(anyString.substring(NaN,3));// 输出 "lla"
    console.log(anyString.substring(4,7));
    console.log(anyString.substring(7,4));// 输出 ""
    console.log(anyString.substring(4,4));// 输出 "Mozill"
    console.log(anyString.substring(0,6));// 输出 "Mozilla"
    console.log(anyString.substring(0,7));
    console.log(anyString.substring(0,10));//输出 "illa"
    console.log(anyString.substring(anyString.length-4));
    

substr()

  • 警告

    警告: 尽管 String.prototype.substr(…) 没有严格被废弃
    (as in "removed from the Web standards"),
    但它被认作是遗留的函数并且可以的话应该避免使用。它并非JavaScript核心语言的一部分,
    未来将可能会被移除掉。如果可以的话,使用 substring() 替代它.
    
  • 概述

    substr() 方法返回一个字符串中从指定位置开始到指定字符数的字符。
    
  • 参数

    start开始提取字符的位置。如果为负值,则被看作 strLength + start,其中 strLength 为字符串的长度(例如,如果 start 为 -3,则被看作 strLength + (-3))。
    length可选。提取的字符数。
  • 描述

    start 是一个字符的索引。首字符的索引为 0,最后一个字符的索引为 字符串的长度减去1。
    substr  从 start 位置开始提取字符,提取 length 个字符(或直到字符串的末尾)。如果 start 为正值,且大于或等于字符串的长度,则 substr 返回一个空字符串。如果 start 为负值,则 substr 把它作为从字符串末尾开始的一个字符索引。
    如果 start 为负值且 abs(start) 大于字符串的长度,则 substr 使用 0 作为开始提取的索引。
    注意负的 start 参数不被 Microsoft JScript 所支持。如果 length 为 0 或负值,则 substr 返回一个空字符串。如果忽略 length,
    则 substr 提取字符,直到字符串末尾。
    
  • 示例

    var str = "abcdefghij";console.log("(1,2): "    + str.substr(1,2));   // (1,2): bc
    console.log("(-3,2): "   + str.substr(-3,2));  // (-3,2): hi
    console.log("(-3): "     + str.substr(-3));    // (-3): hij
    console.log("(1): "      + str.substr(1));     // (1): bcdefghij
    console.log("(-20, 2): " + str.substr(-20,2)); // (-20, 2): ab
    console.log("(20, 2): "  + str.substr(20,2));  // (20, 2):
    

slice()

  • 定义

    slice() 方法提取某个字符串的一部分,并返回一个新的字符串,且不会改动原字符串。
    
  • 语法

    str.slice(beginIndex[, endIndex])
    
  • 参数

    beginIndex从该索引(以 0 为基数)处开始提取原字符串中的字符。如果值为负数,会被当做 strLength + beginIndex 看待,这里的strLength 是字符串的长度(例如, 如果 beginIndex 是 -3 则看作是:strLength - 3)
    endIndex可选。在该索引(以 0 为基数)处结束提取字符串。如果省略该参数,slice() 会一直提取到字符串末尾。如果该参数为负数,则被看作是 strLength + endIndex,这里的 strLength 就是字符串的长度(例如,如果 endIndex 是 -3,则是, strLength - 3)。
    
  • 描述

    slice() 从一个字符串中提取字符串并返回新字符串。
    在一个字符串中的改变不会影响另一个字符串。
    也就是说,slice 不会修改原字符串(只会返回一个包含了原字符串中部分字符的新字符串)。slice() 提取的新字符串包括beginIndex但不包括 endIndex。下面有两个例子。例 1:str.slice(1, 4) 提取第二个字符到第四个字符(被提取字符的索引值(index)
    依次为 1、2,和 3)。例 2:str.slice(2, -1) 提取第三个字符到倒数第一个字符。
    
  • 示例

    var str1 = 'The morning is upon us.', // str1 的长度 length 是 23。str2 = str1.slice(1, 8),str3 = str1.slice(4, -2),str4 = str1.slice(12),str5 = str1.slice(30);
    console.log(str2); // 输出:he morn
    console.log(str3); // 输出:morning is upon u
    console.log(str4); // 输出:is upon us.
    console.log(str5); // 输出:""var str = 'The morning is upon us.';
    str.slice(-3);     // 返回 'us.'
    str.slice(-3, -1); // 返回 'us'
    str.slice(0, -1);  // 返回 'The morning is upon us'
    

repeat()

  • 定义

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

    str.repeat(count)
    
  • 参数

    count介于 0 和 +Infinity 之间的整数。表示在新构造的字符串中重复了多少遍原字符串。
    RangeError: 重复次数不能为负数。
    RangeError: 重复次数必须小于 infinity,且长度不会大于最长的字符串
    
  • 示例

    "abc".repeat(-1)     // RangeError: repeat count must be positive and less than inifinity
    "abc".repeat(0)      // ""
    "abc".repeat(1)      // "abc"
    "abc".repeat(2)      // "abcabc"
    "abc".repeat(3.5)    // "abcabcabc" 参数count将会被自动转换成整数.
    "abc".repeat(1/0)    // RangeError: repeat count must be positive and less than inifinity({toString : () => "abc", repeat : String.prototype.repeat}).repeat(2)
    //"abcabc",repeat是一个通用方法,也就是它的调用者可以不是一个字符串对象.
    

replace()

  • 定义

    replace() 方法返回一个由替换值(replacement)替换部分或所有的模式(pattern)匹配项后的新字符串。
    模式可以是一个字符串或者一个正则表达式,替换值可以是一个字符串或者一个每次匹配都要调用的回调函数。
    如果pattern是字符串,则仅替换第一个匹配项。原字符串不会改变。
    
  • 语法

    str.replace(regexp|substr, newSubStr|function)
    
  • 参数

    regexp (pattern)一个RegExp 对象或者其字面量。该正则所匹配的内容会被第二个参数的返回值替换掉。
    substr (pattern)一个将被 newSubStr 替换的 字符串。其被视为一整个字符串,而不是一个正则表达式。仅第一个匹配项会被替换。
    newSubStr (replacement)用于替换掉第一个参数在原字符串中的匹配部分的字符串。该字符串中可以内插一些特殊的变量名。参考下面的使用字符串作为参数。
    function (replacement)一个用来创建新子字符串的函数,该函数的返回值将替换掉第一个参数匹配到的结果。参考下面的指定一个函数作为参数。
    
  • 示例

    const p = 'The quick brown fox jumps over the lazy dog. If the dog reacted, was it really lazy?';const regex = /dog/gi;console.log(p.replace(regex, 'ferret'));
    // expected output: "The quick brown fox jumps over the lazy ferret. If the ferret reacted, was it really lazy?"console.log(p.replace('dog', 'monkey'));
    // expected output: "The quick brown fox jumps over the lazy monkey. If the dog reacted, was it really lazy?"//在 replace() 中使用正则表达式
    //replace() 中使用了正则表达式及忽略大小写标示
    var str = 'Twas the night before Xmas...';
    var newstr = str.replace(/xmas/i, 'Christmas');
    console.log(newstr);  // Twas the night before Christmas...//交换字符串中的两个单词
    var re = /(\w+)\s(\w+)/;
    var str = "John Smith";
    var newstr = str.replace(re, "$2, $1");
    // Smith, John
    console.log(newstr);//使 newString 变成 'abc - 12345 - #$*%':
    function replacer(match, p1, p2, p3, offset, string) {// p1 is nondigits, p2 digits, and p3 non-alphanumericsreturn [p1, p2, p3].join(' - ');
    }
    var newString = 'abc12345#$*%'.replace(/([^\d]*)(\d*)([^\w]*)/, replacer);
    console.log(newString);  // abc - 12345 - #$*%
    

trim() - trimRgiht() - trimLeft

  • 定义

    trim() 方法会从一个字符串的两端删除空白字符。在这个上下文中的空白字符是所有的空白字符 (space, tab, no-break space 等) 以及所有行终止符字符(如 LF,CR等)。
    trimRight() 删除尾部空格
    trimLeft() 删除头部空格   // 或者叫  trimStart
    
  • 返回值

    一个代表调用字符串两端去掉空白的新字符串。
    
  • 示例

    const greeting = '   Hello world!   ';console.log(greeting);
    // expected output: "   Hello world!   ";console.log(greeting.trim());
    // expected output: "Hello world!";
    console.log(greeting.trimRight());
    // expected output: "Hello world!   ";
    console.log(greeting.trimLeft());
    // expected output: "   Hello world!";
    

search()

  • 定义

    search() 方法执行正则表达式和 String 对象之间的一个搜索匹配。
    
  • 语法

    str.search(regexp)
    
  • 参数

    regexp一个正则表达式(regular expression)对象如果传入一个非正则表达式对象 regexp,则会使用 new RegExp(regexp) 隐式地将其转换为正则表达式对象。
    
  • 示例

    var str = "hey JudE";
    var re = /[A-Z]/g;
    var re2 = /[.]/g;
    console.log(str.search(re));
    // returns 4, which is the index of the first capital letter "J"
    console.log(str.search(re2));
    // returns -1 cannot find '.' dot punctuation
    

indexOf()

  • 定义

    indexOf() 方法返回调用它的 String 对象中第一次出现的指定值的索引,从 fromIndex 处进行搜索。如果未找到该值,则返回 -1。
    
  • 语法

    str.indexOf(searchValue [, fromIndex])
    
  • 参数

    searchValue要被查找的字符串值。如果没有提供确切地提供字符串,searchValue 会被强制设置为 "undefined", 然后在当前字符串中查找这个值。举个例子:'undefined'.indexOf() 将会返回0,因为 undefined 在位置0处被找到,但是 'undefine'.indexOf() 将会返回 -1 ,因为字符串 'undefined' 未被找到。
    fromIndex 可选数字表示开始查找的位置。可以是任意整数,默认值为 0。如果 fromIndex 的值小于 0,或者大于 str.length ,那么查找分别从 0 和str.length 开始。(译者注:  fromIndex 的值小于 0,等同于为空情况; fromIndex 的值大于或等于 str.length ,那么结果会直接返回 -1 。)举个例子,'hello world'.indexOf('o', -5) 返回 4 ,因为它是从位置0处开始查找,然后 o 在位置4处被找到。另一方面,'hello world'.indexOf('o', 11) (或 fromIndex 填入任何大于11的值)将会返回 -1 ,因为开始查找的位置11处,已经是这个字符串的结尾了。
    
  • 返回值

    查找的字符串 searchValue 的第一次出现的索引,如果没有找到,则返回 -1。
    
  • searchValue为空时

    //如果 fromIndex 值为空,或者 fromIndex 值小于被查找的字符串的长度,
    //返回值和以下的 fromIndex 值一样:
    'hello world'.indexOf('') // 返回 0
    'hello world'.indexOf('', 0) // 返回 0
    'hello world'.indexOf('', 3) // 返回 3
    'hello world'.indexOf('', 8) // 返回 8
    //如果 fromIndex 值大于等于字符串的长度,将会直接返回字符串的长度(str.length)
    'hello world'.indexOf('', 11) // 返回 11
    'hello world'.indexOf('', 13) // 返回 11
    'hello world'.indexOf('', 22) // 返回 11
    
  • 示例

    //注意 0 并不会被当成 true ,-1 不会被当成 false 。
    //所以当检测某个字符串是否存在于另一个字符串中时,可使用下面的方法:
    'Blue Whale'.indexOf('Blue') !== -1    // true
    'Blue Whale'.indexOf('Bloe') !== -1    // false
    ~('Blue Whale'.indexOf('Bloe'))        // 0, 这是一种错误用法//使用 indexOf 统计一个字符串中某个字母出现的次数
    var str = 'To be, or not to be, that is the question.';
    var count = 0;
    var pos = str.indexOf('e');
    while (pos !== -1) {count++;pos = str.indexOf('e', pos + 1);
    }
    console.log(count); // displays 4
    

match()

  • 定义

     match() 方法检索返回一个字符串匹配正则表达式的结果。
    
  • 语法

    str.match(regexp)
    
  • 参数

    regexp一个正则表达式对象。如果传入一个非正则表达式对象,则会隐式地使用 new RegExp(obj)将其转换为一个 RegExp 。如果你没有给出任何参数并直接使用match() 方法 ,你将会得到一个包含空字符串的 Array :[""] 。
    
  • 返回值

    
    如果使用g标志,则将返回与完整正则表达式匹配的所有结果,但不会返回捕获组。
    如果未使用g标志,则仅返回第一个完整匹配及其相关的捕获组(Array)。在这种情况下,
    返回的项目将具有如下所述的其他属性。groups: 一个捕获组数组 或 undefined(如果没有定义命名捕获组)。index: 匹配的结果的开始位置input: 搜索的字符串.
    
  • 示例

    const paragraph = 'The quick brown fox jumps over the lazy dog. It barked.';
    const regex = /[A-Z]/g;
    const found = paragraph.match(regex);console.log(found);
    // expected output: Array ["T", "I"]

RegExp.test()

  • 定义

    test() 方法执行一个检索,用来查看正则表达式与指定的字符串是否匹配。返回 true 或 false。
    
  • 语法

    regexObj.test(str)
    
  • 返回值

    如果正则表达式与指定的字符串匹配 ,返回true;否则false。
    
  • 示例

    let str = 'hello world!';
    let result = /^hello/.test(str);
    console.log(result);
    // true
    // 当设置全局标志的正则使用test()
    var regex = /foo/g;// regex.lastIndex is at 0
    regex.test('foo'); // true// regex.lastIndex is now at 3
    regex.test('foo'); // false
    
  • 设置全局标志的正则使用test()

    如果正则表达式设置了全局标志,test() 的执行会改变正则表达式lastIndex属性。
    连续的执行test()方法,后续的执行将会从 lastIndex 处开始匹配字符串,
    (exec() 同样改变正则本身的 lastIndex属性值).
    

转换大小写

1、转换成大写:toUpperCase()
2、转换成小写:toLowerCase()

整理自:MDN

JS String篇 字符串常用Api相关推荐

  1. 辟邪剑法之字符串常用API

    辟邪剑法之字符串常用API 文章目录 辟邪剑法之字符串常用API 一.引言 二.字符串 1.字符串介绍 2.ES5字符串方法 1.toLowerCase() 2.toUpperCase() 3.ind ...

  2. 看了就会的 Node.js 三大基础模块常用 API

    大家好,我是若川.欢迎加我微信 ruochuan12,加群交流学习.今天分享一篇nodejs基础的文章.点击下方卡片关注我,或者查看源码等系列文章. 在日常使用 Node 进行开发的时候,会使用到一些 ...

  3. Chai.js断言库expect常用API

    Chai.js断言库API中文文档:https://www.jianshu.com/p/f200a75a15d2 // equal 相等或不相等 expect(4 + 5).to.be.equal(9 ...

  4. string类型--字符串常用取值操作

    1.字符串常量 (1)不依赖于语言环境: string.ascii_letters ==>'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXY ...

  5. JS中的Math 常用API

    圆周率 Math.PI 绝对值Math.abs(-8) 向上取整 Math.ceil(3.1) 向下取整Math.floor(7.9) 获取一组数字的最大值Math.max(2,4,5).  不支持数 ...

  6. php中数据类型、数组排序、循环语句、混编、操作本地文件流程、常用API、函数、魔术常量

    php中数据类型: php中有7种数据类型,分别是: //1.String字符串,用引号包裹的字符,如:$str = 'hello word';//2.Integer整型,可以是正数或负数,有十进制. ...

  7. JavaScript之基础-9 JavaScript String(内置对象、String概述、字符串常用操作、模式匹配)...

    一.JavaScript 内置对象 内置对象 - 什么是内置对象? 内置对象就是ECMAScript标准中已经定义好的,由浏览器厂商已经实现的标准对象 - 内置对象中封装了专门的数据和操作数据常用的A ...

  8. api日常总结:前端常用js函数和CSS常用技巧

    我的移动端media html{font-size:10px} @media screen and (min-width:321px) and (max-width:375px){html{font- ...

  9. c++ string replace_JAVA应用程序开发之String类常用API

    [本文详细介绍了JAVA应用开发中的String类常用API,欢迎读者朋友们阅读.转发和收藏!] 1 基本概念 API ( Application Interface 应用程序接口)是类中提供的接口, ...

最新文章

  1. js表单提交,支持图片上传,包含后端php代码
  2. 较传统AGV优势几何?AMR机器人产业格局将变
  3. 神经网络总结(初稿)
  4. 一步步编写操作系统 5 配置bochs
  5. bugku 杂项 就五层你能解开吗_9.65米解放龙V杂项危险废物厢式运输车62
  6. 软件测试管理工具禅道开源版下载安装
  7. 50-20-200-配置-checkpoint配置
  8. java exec mvn_为`mvn exec:java`设置Java属性
  9. 使用全局变量有什么好处?有什么坏处?_发酵床养殖有什么好处?又有什么坏处?该不该采用...
  10. springboot整合websocket实现微信小程序聊天
  11. MATLAB函数随笔画图篇
  12. python编程实战(三):暴力破解WIFI密码!亲测运行有效!
  13. 计算机网络复习题(全套)
  14. Vue H5微信分享功能实现
  15. 清除右键菜单多余的选项
  16. h5物体拖动_iH5高级教程:H5交互进阶,拖动物品效果
  17. c++ 11 多线程支持 (std::packaged_task)
  18. kali修改用户名与密码
  19. weblogic T3协议(附python脚本)
  20. 泰勒级数+牛顿迭代公式+最简单的C语言求根号的值

热门文章

  1. postgresql加密方式
  2. 国内的IT类的技术博客都有哪些?
  3. 安装FREENAS 虚拟机
  4. linux服务器查看excel文件,从Linux服务器读取存储在SharePoint上的Excel文件(运行R Studio)...
  5. CF1717A Madoka and Strange Thoughts 题解
  6. Python-正则表示汉字数字-2021.9.17
  7. appscan导出html报告,appscan,如何生成报告.docx
  8. python画曲线的趋势线_python - 在时间序列图中添加趋势线 - SO中文参考 - www.soinside.com...
  9. 【文件系统】linux系统常见目录及文件总结
  10. [思维导图学习三] 思维导图的应用