当前位置: 首页 > news >正文

学习:JS[8]本地存储+正则表达式

一.本地存储

1.介绍

  • 将数据存储到用户浏览器当中
  • 设置、读取方便、页面刷新不丢失数据

2.本地存储分类-localStorage

a.语法

(1)存储数据

//存储数据 localStorage.setItem(键,值)如
localStorage.setItem('uname','哈哈')

(2)获取数据

//获取方式 都加引号 localStorage.getItem('键')
localStorage.getItem('uname')

(3)删除数据

//删除数据   localStorage.removeItem(键)
localStorage.removeItem('uname')

(4)修改数据

//修改数据 localStorage.setItem(键,修改内容)
localStorage.setItem('uname','嘻嘻')

注意

  • 本地存储只能存储字符串类型
  • 所有的键都要加引号

3.存储复杂数据类型

(1)直接存一个对象,不能直接使用

const obj = {uname: '哈哈',age: 99,gender: '女'}//存储复杂数据类型localStorage.setItem('obj', obj)

(2)将负责数据类型转化成JSON字符串,存储到本地

语法:JSON.stringfy(复杂数据类型)

  localStorage.setItem('obj',JSON.stringify(obj))

(3)取的时候把JSON转换回对象

 console.log(JSON.parse(localStorage.getItem('obj')))

4.数组中的map方法

  • 遍历数组处理数据,并且返回新的数组
  • map也称为映射
const arr=['red','blue','pink']
arr.map(function(ele,index){
return ele+'颜色'
})

5.join()方法

  • 把数组中的所有元素转换一个字符串
const arr=['red颜色','blue颜色','green颜色']
//小括号为空则逗号分割
newArr.join()
//小括号是空字符串,则元素之间没有分隔符号
newArr.join('')
//小括号里是什么就以什么为分割
newArr.join('|')//以|为分割

二.正则表达式

1.语法

//1.定义规则,查找字符串里是否含有//的一条规则
const 变量名=/表达式/
//变量名一般使用reg,正则表达式的意思//2.是否匹配
规则.test(查找内容)//返回的值是true或false//3.exec()
规则.exec(查找内容)

2.元字符(特殊字符)

a.边界符,提示字符所处的位置

边界符说明
^表示匹配行首的文本(以谁开始)
$表示匹配行尾的文本(以谁结束)

^和$一起出现,表示必须是精确匹配

b.量词(表示重复次数)

量词说明
*重复0次或多次
+重复一次或更多次
?重复0次或1次
{n}重复n次
{n,}重复n次或更多次
{n,m}重复n到m次

c.字符类

(1)[ ]匹配字符型

只要包含里面其中的一个(只选一个)

形如:[abc](a,b,c其中一个)、[a-z](a到z其中一个)、[a-zA-Z0-9](表示小写a到z,大写A到Z,数字0到9)

(2) . 匹配除换行符之外的任何单个字符

(3)预定义:某些常见模式的简写方式

预定类说明
\d匹配0-9之间的任一数字,相当于[0-9]
\D匹配所有0-9以外的字符,相当于[^0-9]
\w匹配任意的字母、数字和下划线,相当于[A-Za-z0-9_]
\W除所有字母、数字和下划线,以外的字符,相当于[^A-Za-z0-9_]
\s匹配空格(包括换行符、制表符、空格符等),相当于[\t\r\n\v\f]
\S匹配非空格的字符,相当于[^\t\r\n\v\f]

日期格式:  ^\d{4}-\d{1,2}-\d{1,2}

3.修饰符

a.语法

/表达式/修饰符

i--不区分大小写(ignore)

g--匹配所有满足正则表达式的结果(global),全局查找

b.replace替换

字符串.replace(/正则表达式/,'替换的文本')

http://www.xdnf.cn/news/1271773.html

相关文章:

  • 心灵笔记:思考三部曲
  • 谷歌搜索 sg_ss 逆向分析
  • 计算机网络:深入了解CIDR地址块如何利用VLSM进行子网划分的过程
  • 算法_python_牛客华为机试笔记_01
  • C++算法练习:单词识别
  • 应急响应复现
  • 传输线模拟经验谈
  • 新手入门:Git 初次配置与 Gitee 仓库操作全指南 —— 从环境搭建到代码推送一步到位
  • 编辑距离-二维动态规划
  • Kotlin初体验
  • git命令详解
  • 百度网盘如何做到下载速度最快?OpenSpeedy绿色安装版下载,开源免费网盘加速
  • react 常用组件库
  • Day37--动态规划--52. 携带研究材料(卡码网),518. 零钱兑换 II,377. 组合总和 Ⅳ,57. 爬楼梯(卡码网)
  • Poetry与UV——现代Python依赖管理的革新者
  • Linux 安装 JDK 8u291 教程(jdk-8u291-linux-x64.tar.gz 解压配置详细步骤)​
  • 深入理解 Gin 框架的路由机制:从基础使用到核心原理
  • 蓝牙技术概览
  • imx6ull-驱动开发篇16——信号量与互斥体
  • 练习uart和摄像头内核驱动开发测试
  • 【Python 高频 API 速学 ⑦ · 完结篇】
  • Netbsd安装使用
  • Vue3的简单学习
  • java练习题:数字位数
  • Python(6) -- 数据容器
  • I2CHAL库接口
  • MCU-基于TC397的启动流程
  • nginx高性能web服务器
  • BroadcastChannel:轻松实现前端跨页面通信
  • 使用 Ansys Discovery 进行动态设计和分析