• 【ECMAScript5】String对象


    String的方法概括如下:

    • charAt() :返回指定位置的字符
    • charCodeAt() :返回指定位置的字符的 Unicode 编码
    • concat():字符串拼接, 返回拼接得到的新字符串
    • slice():提取字符串的片断,并在新的字符串中返回被提取的部分
    • substr():从起始索引号提取字符串中指定数目的字符 (包前不包后)
    • substring():提取字符串中两个指定的索引号之间的字符 (包前不包后)
    • indexOf():返回某个指定的字符串值在字符串中首次出现的位置
    • lastIndexOf():从后向前搜索字符串,并从起始位置(0)开始计算返回字符串最后出现的位置
    • toLowerCase():把字符串转换为小写
    • toUpperCase() :把字符串转换为大写
    • match() :查找找到一个或多个正则表达式的匹配
    • search() :返回字符串中第一个匹配项的索引; 如果没有找到匹配项, 则返回 -1
    • replace() :在字符串中查找匹配的子串, 并替换与正则表达式匹配的子串
    • split() :把字符串分割为字符串数组,字符串转数组
    • trim() :去除字符串两边的空白
    • localeCompare() :比较两个字符串的字符顺序
    • formCharCode():接受一个指定的 Unicode 值,然后返回一个字符串。静态方法
    • valueOf() :返回某个字符串对象的原始值
    • includes(): 确定一个字符串是否包含在另一个字符串中。ES6。
    • startsWith() :确定一个字符串是否在另一个字符串头部。ES6。
    • endsWith() :确定一个字符串是否在另一个字符串尾部。ES6。
    • repeat() :重复原字符串。 ES6。
    • padStart(): 在头部补全字符串 。ES6。
    • padEnd() :在尾部补全字符串。 ES6。

    一、字符方法

    1. charAt()

    第一个字符位置为 0, 第二个字符位置为 1,以此类推。

    语法:string.charAt(index);

    2. charCodeAt()

    语法:string.charCodeAt(index);

    二、字符串方法

    1. concat()

    语法:string.concat(string1, string2, ..., stringX);

    注意:虽然 concat() 是专门用来拼接字符串的方法, 但实践中使用更多的还是加号操作符(+). 而且, 使用加号操作符在大多数情况下都比使用 concat() 方法要简便易行(特别是在拼接多个字符串的情况下)

    2. slice()

    语法:string.slice(start, end);

    参数:

    • start 必需。 要抽取的片断的起始下标。第一个字符位置为 0
    • end 可选。 紧接着要截取的片段结尾的下标。若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置

    注意:如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推。

    3. substr()

    语法:string.substr(start, length);

    参数:

    • start 必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推
    • length 可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串

    4. substring()

    语法:string.substring(from, to);

    参数:

    • from 必需。一个非负的整数,规定要提取的子串的第一个字符在 string Object 中的位置
    • to 可选。一个非负的整数,比要提取的子串的最后一个字符在 string Object 中的位置多 1。如果省略该参数,那么返回的子串会一直到字符串的结尾

    三、字符串位置方法

    1. indexOf()

    语法:string.indexOf(searchvalue, start);

    参数:

    • searchvalue 必需。规定需检索的字符串值
    • start 可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 string Object.length - 1。如省略该参数,则将从字符串的首字符开始检索

    2. lastIndexOf()

    语法:string.lastIndexOf(searchvalue, start);

    参数:

    • searchvalue 必需。规定需检索的字符串值
    • start 可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略该参数,则将从字符串的最后一个字符处开始检索

    注意:

    该方法将从后向前检索字符串,但返回是从起始位置 (0) 开始计算子字符串最后出现的位置。 看它是否含有字符串
    开始检索的位置在字符串的 start 处或字符串的结尾(没有指定 start 时)
    如果没有找到匹配字符串则返回 -1

    四、字符串的模式匹配方法 

    1. match()

    语法:string.match(regexp)

    参数:

      regexp 必需。规定要匹配的模式的 RegExp 对象。如果该参数不是 RegExp 对象,则需要首先把它传递给 RegExp 构造函数,将其转换为 RegExp 对象。

    返回值:

      Array 存放匹配结果的数组。该数组的内容依赖于 regexp 是否具有全局标志 g。 如果没找到匹配结果返回 null

    注意:

    • match() 方法将检索字符串 String Object,以找到一个或多个与 regexp 匹配的文本
    • 这个方法的行为在很大程度上有赖于 regexp 是否具有标志 g
    • 如果 regexp 没有标志 g,那么 match() 方法就只能在 stringObject 中执行一次匹配
    • 如果没有找到任何匹配的文本, match() 将返回 null
    • 否则,它将返回一个数组,其中存放了与它找到的匹配文本有关的信息

    2. search()

    语法:string.search(searchvalue)

    参数值:searchvalue 必需。查找的字符串或者正则表达式

    返回值:Number 与指定查找的字符串或者正则表达式相匹配的 String 对象起始位置

    3. replace()

    该方法不会改变原始字符串。

    语法:string.replace(searchvalue,newvalue)

    参数:

    • searchvalue 必需。规定子字符串或要替换的模式的 RegExp 对象。请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象
    • newvalue 必需。一个字符串值。规定了替换文本或生成替换文本的函数

    返回值:

      String 一个新的字符串,是用 replacement 替换了 regexp 的第一次匹配或所有匹配之后得到的。

    4. split()

    语法:string.split(separator,limit)

    参数:

    • separator 可选。字符串或正则表达式,从该参数指定的地方分割 stringObject
    • limit 可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度

    返回值:

      Array 一个字符串数组。该数组是通过在 separator 指定的边界处将字符串 string Object 分割成子串创建的。返回的数组中的字串不包括 separator 自身

    注意:

      如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割。split() 方法不改变原始字符串。

    五、其他

    1. trim()
    语法:string.trim();
    返回值:
      String 返回首尾没有空格的新字符串, 不改变原始字符串
    兼容性:
     2. localeCompare(), 从前到后依次比较两个字符串
    语法:stringObject.localeCompare(target)
    参数值:target 要以本地特定的顺序与 stringObject 进行比较的字符串
    返回值:
    • 如果字符串在字母表中应该排在字符串参数之前, 则返回一个负数 (大多数情况下是 -1)
    • 如果字符串等于字符串参数, 则返回 0
    • 如果字符串在字母表中应该排在字符串参数之后, 则返回一个正数 (大多数情况下是 1)
    注意:
      localeCompare() 区分大小写, 同字母小写在前, 大写在后。
    3. formCharCode()
    语法:String.fromCharCode(numX, numX, ..., numX)
    参数值:numX 必需。一个或多个 Unicode 值,即要创建的字符串中的字符的 Unicode 编码
    返回值:String 返回代表 Unicode 编码的字符
    注意:
    • 该方法是 String 的静态方法,字符串中的每个字符都由单独的数字 Unicode 编码指定
    • 它不能作为您已创建的 String 对象的方法来使用
    • 因此它的语法应该是 String.fromCharCode(),而不是 myStringObject.fromCharCode()
    4. valueOf()
    语法:string.valueOf()
    注意:valueOf() 方法通常由 JavaScript 在后台自动进行调用,而不是显式地处于代码中
  • 相关阅读:
    MongoDB Query 的几个方法
    jQuery日期和时间插件(jqueryuitimepickeraddon.js)中文破解版使用
    entity framework使用技巧
    SQL Server TSQL高级查询
    Visual Studio 2012资源管理器里单击打开改为双击打开文件
    ASP.NET MVC 3发布报错(ASP.NET MVC 3在没有安装环境的服务器上运行)的解决方案
    排序算法时间测试比较
    读书笔记之:C++ STL 开发技术导引3
    如何判断整数x的二进制中含有多少个1
    面试题:2012民生银行总行笔试题
  • 原文地址:https://www.cnblogs.com/myitnews/p/12188279.html
Copyright © 2020-2023  润新知