JavaScript学习总结-字符串函数

一、查找方法

1、字符方法

a、charAt()

  • 功能:返回字符串中第n个字符

  • 参数:超出范围,返回空字符串

  • 返回值:string中第n个字符的实际值

b、charCodeAt()

  • 功能:返回字符串中第n个字符的代码

  • 参数:超出范围,返回Nan

  • 返回值:

    • 内容:string中第n个字符的Unicode编码
    • 范围:0~65535之间的16位整数

c、fromCharCode()

  • 功能:根据字符编码创建字符串

  • 参数:0个或多个整数,代码字符的Unicode编码

  • 返回值:由指定编码字符组成的新字符串

  • 特效:静态方法,实为构造函数String()的属性

d、关系

charAt和charCodeAt共性

  • 功能:根据下标查找指定字符
  • 参数:n,要查询的字符下标;有效范围,0~length~1之间

charCodeAt与fromCharCode

  • 互为反向操作

2、位置方法

a、indexOf()

  • 从前向后检索字符串,看其是否含有指定子串

b、lastIndexOf()

  • 从后向前检索字符串,看其是否含有指定子串

c、共性

  • 功能:根据字符串查找下标位置
  • 参数:
    • 必选:将要查询的字符串
    • 可选:开始查找的位置下标
      • 值为负数,视作 0
      • 省略,从默认起始位开始查找
      • 超出 0~length~1,返回 -1
  • 返回值
    • 找到:字串首次出现的下标
    • 未找到:返回-1

3、匹配方法

a、match()

  • 功能:找到一个或多个正则表达式的匹配
  • 参数
    • 要进行模式匹配的正则表达式
    • 非正则表达式,将其传递给RegExp()的构造函数,并转换为正则表达式对象
  • 返回值:存放匹配结果的数组
    • 有全局标记g:执行全局检索
      • 找到:返回数组
        • 内容:所有匹配的子串
        • 缺陷
          • 没有派生属性
          • 不提供与子表达式匹配的文本信息
          • 不声明每个匹配子串的位置
        • 弥补:使用RegExp.exec()方法
      • 没找到:返回null
    • 无全局标记g:执行一次匹配
      • 找到:返回数组
        • 内容
          • 第0个元素,匹配文本
          • 其他元素,与正则表达式匹配的文本
        • 属性
          • input,调用该方法的字符串对象
          • index,匹配为本的起始字符在字符串中的位置
          • lastIndex,匹配为本的末尾字符在字符串中的位置
      • 未找到:返回null

b、seach()

  • 功能:检索字符串中与正则表达式匹配的子串
  • 参数:与match()相同
  • 返回值
    • 找到:字符串中第一个与正则表达式相匹配的子串的起始位置
    • 未找到:返回 -1
  • 特性:忽略全局标记glastIndex()属性

c、replace()

  • 功能:替换一个与正则表达式匹配的子串
  • 参数
    • 参数 1:需要进行替换正则表达式对象或字符串
    • 参数 2:替换文本或替换函数
  • 特性
    • 如果参数1仅为字符串则只进行一次匹配替换,若替代所有子串则必选制定全局标记g
    • 如果参数2仅为字符串则可使用特殊字符序列
      • $$ : $
      • $& : 匹配整个模式的子字符串
      • $’ : 匹配的子字符串之前的子字符串
      • $` : 匹配的子字符串之后的子字符串
      • $n : 匹配第n个捕获组的子字符串,n=0~9
      • $nn: 匹配第nn个捕获组的子字符串,nn=01~99

d、split()

  • 功能:根据指定分隔符将字符串分割成多个子串,并返回成数组
  • 参数
    • 必须:指定的分隔符
    • 可选:指定数组的长度

二、操作方法

1、拼接方法

a、concat()

  • 语法:string.cancat(varue,…)
  • 功能:连接字符串
  • 参数:要连接到string上的一个或多个值
  • 返回值:把所有参数都连接到字符串string上得到的新字符串
  • 特性:功能与‘’+‘’相同原始字符串的实际值并未被真正修改

2、截取方法

a、 根据下标截取子串

  • slice() : 赋值参数,与字符长度相加
  • substring() : 赋值参数,转换为0
  • 共性 :参数2的子字符串最后一个字符后面的下标

b、根据长度截取子串

  • substr()
    • 参数2 :返回的字符个数
    • 赋值参数
      • 参数1:与字符串长度相加
      • 参数2:转换为0

c、共性

  • 功能:截取被操作字符串中的子串
  • 参数1:指定子串的开始位置
  • 省略参数2:以字符串长度为结束位置

3、空格处理

  • trim:清除前置及后缀空格
  • trimLeft:清除前置空格
  • trimRight:清除后缀空格

4、比较方法

a、localeCompare()

  • 功能:用本地特定顺序比较两个字符串
  • 参数:与原字符串进行比较的字符串
  • 返回值:说明比较结果的数字
    • 负数:原字符串 < 参数字符串
    • 0 : 原字符串 = 参数字符串
    • 正数:原字符串 > 参数字符串

三、编码方法

1、字符串常规编码与解码

  • escape()
  • unescape()

2、URI字符串编码与解码

  • encodeURI()
  • decodeURI()

3、URI组件编码与解码

  • encodeURIComponent()
  • decodeURIComponent()

四、转换方法

1、大小写转换

a、转为大写

  • toUpperCase()
  • toLocaleUpperCase() :本地

b、转为小写

  • toLowerCase()
  • toLocaleLowerCase() :本地

2、代码转换

  • js动态格式化html,不具语义性,舍弃
坚持原创技术分享,您的支持将鼓励我继续创作!