JavaScript【六】JavaScript中的字符串(String)

简介: JavaScript【六】JavaScript中的字符串(String)

🌟前言

哈喽小伙伴们,本文将收录在JavaScript【前端童子功】这个专栏里;这个专栏里边会收录一些JavaScript的基础知识和项目实战;希望大家可以多多支持,你们的支持就是我创作的动力;让我们一起来看看吧🤘

🌟字符串(String)

字符串用于存储和处理文本。字符串对象是用来处理字符串

🌟单引号和双引号的区别

  1. 在js中单引号和双引号没有区别,都可以表示字符或字符串。
  2. json格式的文件必须使用双引号
{
    "name": "张三",
    "age": 20
}

🌟属性

🌟 length :字符串的长度

```js
var str='hello word';
console.log(str.length)    //10
​```

🌟 方法

🌟 str.charAt(index);

  • 功能:返回下标为index的子字符串
  • 参数: 数字下标
  • 返回值: 对应下标字符串

🌟 str.charCodeAt(index);

  • 功能: 根据下标,返回对应下标的字符的ACSCII码
  • 参数: 数字下标
  • 返回值: 对应下表字符ACSCII码

🌟 String.fromCharCode(97);

  • 功能: 将ACSCII码转化成字符串,涉及到数字与字母之间的转化可以使用该方法
  • 参数: 十进制ACSCII码
  • 返回值: ACSCII码对应字符串

🌟 str.indexOf(‘a’);

  • 功能: 查找一个字符或者字符串在字符串中第一次出现的位置,未找到则返回-1
  • 参数: 要查找的字符串
  • 返回值: 目标字符串的下标位置,未找到则未-1
var str='hello world';
str.indexOf('a');         //-1
str.indexOf('o');        //4

🌟 str.lastIndexOf(‘a’)

  • 功能: 倒序查找一个字符或者字符串在字符串中第一次出现的位置,返回位置,,
    未找到则返回-1
var str='hello world';
str.lastIndexOf('o');      //7

🌟 str.replace(“替换的内容”,“替换后的内容”)

  • 功能: 将指定的字符串替换只能替换第一个
  • 参数: 1. 要替换的内容; 2. 替换后的内容
  • 返回值: 返回替换后的字符串
  • 注意: 不修改原字符串,所以使用时需要将
replace

方法的返回值保存

var str='hello world';
str.replace('o','a');        //"hella world"

replace支持正则查找,str.replace(/正则/,“替换后的内容”)

🌟 str.slice(起始下标,结束下标)

  • 功能:字符串截取,识别负数,跟数组相同
  • 参数:1. 截取起始下标; 2. 截取结束下标。参数可以是负数,负数表示倒数,只传一个参数表示从起始下标截取到最后
  • 返回值:返回值是截取到的字符串
  • 注意: 截取时,包含起始下标,不包含结束下标; 不修改原字符串

🌟 str.substring(起始下标,结束下标)

  • 功能: 字符串截取,同slice方法,但不识别负数

🌟 str.substr(起始下标,截取的长度)

  • 功能:根据长度进行字符串截取
  • 参数: 1. 起始下标; 2. 截取的长度

🌟 str.split(‘’)

  • 功能: 以某一字符串将目标字符串分割,可用于将特定格式的字符串转化如2018/10/20
  • 参数: 需要分割的字符串
  • 返回值: 原字符串呗参数字符串分割之后的数组
  • 注意: 返回值中传入的字符串会被删掉,不修改原字符串
var str='hello world';
console.log(str.split('o'));   //["hell", " w", "rld"]
console.log(str.split(''));    //["h", "e", "l", "l", "o", " ", "w", "o", "r", "l", "d"]

🌟 str.toLowerCase()

  • 将str字符串中的字符转化为小写,不修改原字符串

🌟 str.toUpperCase()

  • 将str字符串中的字符转化为大写

🌟 str.trim()

  • 将字符串左右空格去除,可用于接收表单数据 IE9以下不识别
  • 返回值: 去掉左右空格之后的字符串
var a='   aa   bb   ';
a.trim();       //"aa   bb"

🌟 str.match()

  • 在字符串内检索指定的值,或找到一个或多个正则表达式的匹配
  • 参数: 可以是字符串或者正则表达式
  • 返回值:检索到的结果
var str='hello world';
str.match('o');   //["o", index: 4, input: "hello world", groups: undefined]
str.match(/o/g);   // (2) ["o", "o"]

🌟 str.concat(‘a’,‘b’,‘c’)

  • 功能: 用于连接两个或多个字符串,与数组中的concat方法很象,不会修改原字符串
  • 参数: 多个字符串
  • 返回值:拼接之后的长字符串

🌟 str.padStart() 、str.padEnd()

  • 功能: 向字符串开头(padStart)或结尾(padEnd)添加字符,使字符串达到指定的长度。返回在原字符串开头或末尾填充指定的填充字符串直到目标长度所形成的新字符串
  • 参数1: 当前字符串需要填充到的目标长度。如果这个数值小于当前字符串的长度,则返回当前字符串本身。
  • 参数2: (可选)填充字符串。如果字符串太长,使填充后的字符串长度超过了目标长度,则只保留最左侧的部分,其他部分会被截断。
  • 注意事项
  • 不写第二个参数填充字符串,则默认用空格填充
  • 填充字符串会自动重复直到达到目标长度
  • 如果原字符串长度已经大于等于目标长度,则直接返回原字符串
'abc'.padStart(10);         // "       abc"
'abc'.padStart(10, "123");  // "1231231abc"
'abc'.padStart(6,"123465"); // "123abc"
'abc'.padStart(8, "0");     // "00000abc"
'abc'.padStart(1);          // "abc"
'abc'.padEnd(10);         // "abc       "
'abc'.padEnd(10, "123");  // "abc1231231"
'abc'.padEnd(6,"123465"); // "abc123"
'abc'.padEnd(8, "0");     // "abc00000"
'abc'.padEnd(1);          // "abc"

使用场景:得到具有固定长度的数据 (时间、二进制数、十六进制数

// 获取时间,如果只有一位则前面用0填充
var time = new Date();
var h = String(time.getHours()).padStart(2,'0')
var m = String(time.getMinutes()).padStart(2,'0')
var s = String(time.getSeconds()).padStart(2,'0')
console.log(`${h}:${m}:${s}`)    // 18:09:03

🌟 字符串与json对象之间的转换

  1. JSON.stringify() 将对象转化为字符串
  2. JSON.parse() 将字符串转化为对象

🌟写在最后

更多JavaScript知识以及API请大家持续关注,尽请期待。各位小伙伴让我们 let’s be prepared at all times!



目录
相关文章
|
5天前
|
JSON JavaScript 前端开发
JavaScript实现字符串转json对象的方法
JavaScript实现字符串转json对象的方法
|
1天前
|
NoSQL 安全 Java
Redis6入门到实战------ 三、常用五大数据类型(字符串 String)
这篇文章深入探讨了Redis中的String数据类型,包括键操作的命令、String类型的命令使用,以及String在Redis中的内部数据结构实现。
Redis6入门到实战------ 三、常用五大数据类型(字符串 String)
|
5天前
|
JavaScript 前端开发
JavaScript基础&实战(5)js中的数组、forEach遍历、Date对象、Math、String对象
这篇文章介绍了JavaScript中的数组、Date对象、Math对象以及包装类(String、Number、Boolean),并详细讲解了数组的创建、方法(如forEach、push、pop、unshift、slice、splice)和遍历操作,以及工厂方法创建对象和原型对象的概念。
JavaScript基础&实战(5)js中的数组、forEach遍历、Date对象、Math、String对象
|
1天前
|
缓存 安全 Java
【揭秘】String vs StringBuilder vs StringBuffer:三大字符串类的秘密较量!你真的知道何时该用哪个吗?
【8月更文挑战第19天】探讨Java中`String`、`StringBuilder`与`StringBuffer`的区别及应用场景。`String`不可变,适合做哈希表键或多线程共享。`StringBuilder`支持动态修改字符串,适用于单线程环境以提高性能。`StringBuffer`与`StringBuilder`功能相似,但线程安全。示例代码展示各类型的基本用法。选择哪种类型取决于具体需求和性能考量。
|
5天前
|
JavaScript 前端开发
JavaScript中使用模板字符串拼接和使用字符串拼接有什么区别?
JavaScript中使用模板字符串拼接和使用字符串拼接有什么区别?
|
5天前
|
JavaScript 前端开发 vr&ar
如何在 JavaScript 中对字符串进行索引、拆分和操作
如何在 JavaScript 中对字符串进行索引、拆分和操作
13 0
|
5天前
|
JavaScript 前端开发
在js中正则表达式验证小时分钟,将输入的字符串转换为对应的小时和分钟
这篇文章介绍了如何在JavaScript中使用正则表达式来验证时间字符串的格式(小时和分钟),并提供了将时间字符串转换为JavaScript Date对象的示例代码及其测试结果。
|
1月前
|
Java 开发者 Python
Python中,字符串(String)是一种不可变的数据类型
Python中,字符串(String)是一种不可变的数据类型
|
1月前
|
存储 资源调度 前端开发
JavaScript 使用axios库发送 post请求给后端, 给定base64格式的字符串数据和一些其他参数, 使用表单方式提交, 并使用onUploadProgress显示进度
使用 Axios 发送包含 Base64 数据和其他参数的 POST 请求时,可以通过 `onUploadProgress` 监听上传进度。由于整个请求体被视为一个单元,所以进度可能不够精确,但可以模拟进度反馈。前端示例代码展示如何创建一个包含 Base64 图片数据和额外参数的 `FormData` 对象,并在上传时更新进度条。后端使用如 Express 和 Multer 可处理 Base64 数据。注意,实际进度可能不如文件上传精确,显示简单加载状态可能更合适。
131 0
|
1月前
|
存储 NoSQL Redis
Redis07命令-String类型字符串,不管是哪种格式,底层都是字节数组形式存储的,最大空间不超过512m,SET添加,MSET批量添加,INCRBY age 2可以,MSET,INCRSETEX
Redis07命令-String类型字符串,不管是哪种格式,底层都是字节数组形式存储的,最大空间不超过512m,SET添加,MSET批量添加,INCRBY age 2可以,MSET,INCRSETEX