web APIs总结(3)

news2024/9/9 5:29:32

1. 本地存储介绍(重点)

  • 数据存储在用户浏览器
  • 设置、读取方便、甚至页面刷新不丢失数据
  • 容量较大,sessionStorage和localStorage约 5M 左右

本地存储分类- localStorage

  • 作用: 可以将数据永久存储在本地(用户的电脑), 除非手动删除,否则关闭页面也会存在
  • 特性:可以多窗口(页面)共享(同一浏览器可以共享);以键值对的形式存储
  • (注意:本地存储只能存储字符串数据类型)
  • 语法:
存储数据:localStorage.setItem('键''值')
获取数据:localStorage.getItem('键')
删除数据:localStorage.removeItem('键')
//修改数据:如果原来有这个键,则是改,如果么有这个键是增
localStorage.setItem('键''值')

本地存储分类- sessionStorage

  • 生命周期为关闭浏览器窗口
  • 在同一个窗口(页面)下数据可以共享
  • 键值对的形式存储使用
  • 用法跟localStorage 基本相同

存储复杂数据类型

  • 本地只能存储字符串,无法存储复杂数据类型(例如:对象)
  • 解决:1.复杂数据类型存储必须转换为 JSON字符串存储;2.把JSON字符串转换为 对象
  • 语法:
    JSON.stringify(复杂数据类型)
localStorage.setItem('obj', JSON.stringify(obj))

JSON.parse(JSON字符串)

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

2. 数组中map方法

作用:map可以遍历数组处理数据,并且返回新的数组
(注:map重点在于有返回值,forEach没有返回值)

	const arr = ['red', 'blue', 'green']
    const newArr = arr.map(function (item, i) {
      // console.log(item)  // 数组元素  'red'
      // console.log(i)  // 下标
      return item + '老师'
    })
    console.log(newArr)//['red老师', 'blue老师', 'green老师']

3. 数组中join方法

作用:join() 方法用于把数组中的所有元素转换一个字符串
参数:数组元素是通过参数里面指定的分隔符进行分隔的,空字符串(‘’),则所有元素之间都没有任何字符
(注:小括号为空,则元素之间没有用逗号分隔)

 const arr = ['red', 'blue', 'green']
    // 把数组元素转换为字符串
    console.log(arr.join()) //打印red,blue,green

4. 正则表达式

什么是正则表达式?

是用于匹配字符串中字符组合的模式

作用:

  • 表单验证(匹配
  • 过滤敏感词(替换
  • 字符串中提取我们想要的部分(提取

正则表达式使用分为几步?

  • 1.定义正则表达式语法:
  • 2.判断是否有符合规则的字符串:
  • test() 方法 用来查看正则表达式与指定的字符串是否匹配.如果正则表达式与指定的字符串匹配 ,返回true,否则false。
    const 变量名 = /表达式/
	const str = '我们在学习前端,希望学习前端能高薪毕业'
    // 正则表达式使用:
    // 1. 定义规则
    const reg = /前端/
    // 2. 是否匹配
    console.log(reg.test(str))  // true
  • 3.检索(查找)符合规则的字符串:
  • exec() 方法 在一个指定字符串中执行一个搜索匹配
    如果匹配成功,exec() 方法返回一个数组,否则返回null
  • 语法:
	const str = '我们在学习前端,希望学习前端能高薪毕业'
    // 正则表达式使用:
    // 1. 定义规则
    const reg = /前端/
    // 2. 是否匹配
	console.log(reg.exec(str))//返回数组

5. 元字符(特殊字符)

  • 是一些具有特殊含义的字符,可以极大提高了灵活性和强大的匹配功能。
  • 比如,规定用户只能输入英文26个英文字母,普通字符的话 abcdefghijklm……
  • 但是换成元字符写法: [a-z]
    正则测试工具: http://tool.oschina.net/regex

5.1 边界符(表示位置,开头和结尾,必须用什么开头,用什么结尾)

正则表达式中的边界符(位置符)用来提示字符所处的位置,主要有两个字符。
yuanzifu

如果 ^ 和 $ 在一起,表示必须是精确匹配

//只允许有一个哈
console.log(/^哈$/.test('哈')) // true  只有这种情况为true 否则全是false
console.log(/^哈$/.test('哈哈')) // false

5.2 量词 (表示重复次数)

量词用来 设定某个模式出现的次数

lc

// 量词 * 类似 >=0 次(重复零次或更多次)
//只允许出现哈字,不允许出现任何其他汉字,包括英文和数字
console.log(/^哈*$/.test('')) // true
console.log(/^哈*$/.test('哈哈')) // true
console.log(/^哈*$/.test('二哈很傻')) //  false
//量词 + 类似 >=1 次
console.log(/^哈+$/.test('哈')) // true
console.log(/^哈+$/.test('')) // false
console.log(/^哈+$/.test('二哈很傻')) //  false
 //  量词 ? 类似  0 || 1
console.log(/^哈?$/.test('')) // true
console.log(/^哈?$/.test('哈')) // true
console.log(/^哈?$/.test('哈哈')) // false
// 量词 {n} 写几,就必须出现几次(常用来作为验证码六位来使用)
console.log(/^哈{4}$/.test('哈'))//false
console.log(/^哈{4}$/.test('哈哈哈哈'))//true
 // 量词 {n,}   >=n
console.log(/^哈{4,}$/.test('哈'))//false
console.log(/^哈{4,}$/.test('哈哈'))//false
console.log(/^哈{4,}$/.test('哈哈哈哈'))//true
console.log(/^哈{4,}$/.test('哈哈哈哈哈'))//true
 // 量词 {n,m}  逗号左右两侧千万不能有空格 >=n && <= m(常用来作注册的用户名6~18位)
    console.log(/^哈{4,6}$/.test('哈哈哈'))//false
    console.log(/^哈{4,6}$/.test('哈哈哈哈'))//true
    console.log(/^哈{4,6}$/.test('哈哈哈哈哈'))//true
    console.log(/^哈{4,6}$/.test('哈哈哈哈哈哈'))//true
    console.log(/^哈{4,6}$/.test('哈哈哈哈哈哈哈'))//false

注意: 逗号左右两侧千万不要出现空格

5.3 字符类(比如 \d 表示 0~9)

(1)[ ] 匹配字符集合

  • 后面的字符串只要包含 abc 中任意一个字符,都返回 true 。
 // 字符类   [abc]  只选1个
    console.log(/^[abc]$/.test('a'))  // true
    console.log(/^[abc]$/.test('b'))  // true
    console.log(/^[abc]$/.test('c'))  // true
    console.log(/^[abc]$/.test('ab'))  // false
    console.log(/^[abc]{2}$/.test('ab'))  // true

(2)[ ] 里面加上 - 连字符

  • 使用连字符 - 表示一个范围
// 字符类   [a-z]  只选1个
console.log(/^[A-Z]$/.test('p'))  // false
console.log(/^[A-Z]$/.test('P'))  // true
console.log(/^[a-zA-Z0-9]$/.test('P'))  // true

比如:

  • [a-z] 表示 a 到 z 26个英文字母都可以
  • [a-zA-Z] 表示大小写都可以
  • [0-9] 表示 0~9 的数字都可以
    腾讯QQ号:^[1-9][0-9]{4,}$ (腾讯QQ号从10000开始)
    (注:只有0-9是能重复4次以上,1-9只能重复一次。因为是就近原则,只重复最近的)

(3)[ ] 里面加上 ^ 取反符号
比如:

  • [^a-z] 匹配除了小写字母以外的字符
  • 注意要写到中括号里面

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

  • 需求:用户名要求用户英文字母,数字,下划线或者短横线组成,并且用户名长度为 6~16位
  • 正则表达式模式 /1{6,16}$/

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

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


  1. a-zA-Z0-9-_ ↩︎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1686297.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网络编程—— Http的Get请求

http: hyper text transport protocal:超文本传输协议。 http是一种基于客户端-服务器模式的协议(Client-Server)。它规定只能由客户端先发起请求给服务器&#xff0c; 服务器做出响应。 http数据传输以数据报文的形式进行&#xff0c; 客户端向服务器发起的请求叫做请求报文。…

burpsuite抓包响应报文乱码

1、响应报文中的中文信息乱码 2、解决办法 3、设置成功后重新发起请求

无线网络安全技术基础

无线网络安全技术基础 无线网络安全风险和隐患 随着无线网络技术广泛应用,其安全性越来越引起关注.无线网络的安全主要有访问控制和数据加密,访问控制保证机密数据只能由授权用户访问,而数据加密则要求发送的数据只能被授权用户所接受和使用。 无线网络在数据传输时以微波进…

七大医用耗材启动!如何用数屿医械查询医用耗材中标?

近日&#xff0c;国家医保局发布《关于加强区域协同做好2024年医药集中采购提质扩面的通知》&#xff0c;标志着我国医药集中采购进入新阶段&#xff0c;将实现更高效、更规范的采购模式。 医用耗材是指经药品监督管理部门批准使用的&#xff0c;在诊断、治疗、防护和康复等医疗…

AI代理的类型、优势及示例

AI 代理的类型、优势和示例 AI 代理是重塑商业动态的关键技术进步。了解这些代理的运作方式&#xff0c;发现它们的关键优势包括效率、可扩展性和成本效益。我们将探索代理的实例及它们在各领域的应用&#xff0c;为未来的人工智能趋势和对客户体验的影响铺平道路。 想象一支由…

基于粒子群算法优化的长短期记忆神经网络(PSO-LSTM)回归预测

粒子群算法优化的长短期记忆&#xff08;LSTM&#xff09;神经网络用于回归预测是一种结合了进化计算和深度学习的强大方法。 1. 背景介绍 LSTM神经网络 LSTM&#xff08;Long Short-Term Memory&#xff09;是一种特殊的递归神经网络&#xff08;RNN&#xff09;&#xff0c…

AS连接MUMU模拟器

1、下载安装并打开mumu模拟器 mumu模拟器要弄成开发者模式 点击几次这个版本号&#xff0c;会有提示的&#xff0c;变成开发者模式之后&#xff0c;再连接As 2、打开as 打开Terminal窗口 先要cd 进去自己安装的sdk的platform-tools目录下 cd D:\Android\SDK\platform-tools 尝…

拓展类型——枚举

枚举的作用 枚举通常用来约定某个变量的取值范围 使用字面量和联合类型也可以达到约束变量的作用&#xff0c;但是会有不方便的情况 使用字面量和联合类型约束变量的问题 逻辑含义和真实的值会产生混淆&#xff0c;如果修改了真实值&#xff0c;会造成大量代码需要修改 例&…

大猿人话费平台对接程序,仅支持Windows

1、基础参数 输入大猿人系统分配的相关信息&#xff0c;然后保存。 软件运行在左下角显示在平台的余额。 本软件仅会在本地保存您填写的数据。 且您填写的数据仅会在和您的服务器通讯&#xff0c;不会发往其他地方。 请妥善保存好您的数据。 使用本软件造成的一切和本软件…

618哪些好物值得入手?必备数码好物清单分享

618购物节又来了!一大波智能好物来袭!随着科技的日新月异&#xff0c;智能产品已成为我们生活中不可或缺的一部分&#xff0c;它们不仅炫酷&#xff0c;还能让你生活更便捷。想知道今年都有哪些黑科技新品吗?赶紧跟我们一起&#xff0c;我们将详细介绍这些热门好物。一堆超炫酷…

【学习笔记】后端(Ⅰ)—— NodeJS(Ⅰ)

NodeJS 1、概述 1.1、NodeJS是什么 1.2、NodeJS的主要作用 1.3、NodeJS的优点 1.4、NodeJS 与 浏览器 的 JavaScript 对比 1.4.1 ECMAScript 介绍 1.4.2 JavaScript 介绍 1.4.3 TypeScript 介绍2、基础篇 2.1、Buff…

【Python脚本随手笔记】-- 将 “庆余年2” 等信息写入 Txt 文件中

&#x1f48c; 所属专栏&#xff1a;【Python脚本随手笔记】 &#x1f600; 作  者&#xff1a;我是夜阑的狗&#x1f436; &#x1f680; 个人简介&#xff1a;一个正在努力学技术的CV工程师&#xff0c;专注基础和实战分享 &#xff0c;欢迎咨询&#xff01; &#…

Gerchberg-Saxton (GS) 和混合输入输出(Hybrid Input-Output, HIO)算法

文章目录 1. 简介2. 算法描述3. 混合输入输出&#xff08;Hybrid Input-Output, HIO&#xff09;算法3.1 HIO算法步骤3.2 HIO算法的优势3.3 算法描述 4. 算法实现与对比5. 总结参考文献 1. 简介 Gerchberg-Saxton (GS) 算法是一种常用于相位恢复和光学成像的迭代算法。该算法最…

深度学习-转置卷积

转置卷积 转置卷积&#xff08;Transposed Convolution&#xff09;&#xff0c;也被称为反卷积&#xff08;Deconvolution&#xff09;&#xff0c;是深度学习中的一种操作&#xff0c;特别是在卷积神经网络&#xff08;CNN&#xff09;中。它可以将一个低维度的特征图&#x…

shell快捷命令与正则表达式

一.高效快捷命令 1.快捷排序——sort 以行为单位对文件内容进行排序&#xff0c;也可以根据不同的数据类型来排序比较原则是从首字符向后&#xff0c;依次按ASCII码值进行比较&#xff0c;最后将他们按升序输出。 语法格式 sort [选项] 参数 cat file | sort 选项 -n 按照数…

LeetCode-102. 二叉树的层序遍历【树 广度优先搜索 二叉树】

LeetCode-102. 二叉树的层序遍历【树 广度优先搜索 二叉树】 题目描述&#xff1a;解题思路一&#xff1a;一个全局队列queue&#xff0c;while queue&#xff1a;去搜集当前所有queue的level解题思路二&#xff1a;背诵版解题思路三&#xff1a; 题目描述&#xff1a; 给你二…

modelbox验证expand和condition共用后,是否顺序保持

如图&#xff0c;在expand之后接了个condition&#xff0c;上下两个流中每一对数据buffer的顺序性是否还会保持&#xff1f; 笔者修改让condition在遇到奇数和偶数时的走向不同。 然后在response单元输出每一对数据&#xff0c;发现顺序都不变。且在处理时&#xff0c;输出会卡…

文件系统--inode

文章目录 概述认识磁盘了解磁盘的存储结构对磁盘的存储结构进行逻辑抽象 操作系统对磁盘的使用宏观认识细节认识再谈目录再谈文件的增删 概述 文件有很多&#xff0c;但是被打开的文件很少&#xff0c;这些没有被打开的文件在磁盘中&#xff0c;这就叫做磁盘文件。每次先打开一…

用眼某星的名片识别与手工录入名片数据的效率及效果对比

OCR名片识别技术&#xff0c;作为现代信息处理领域的一项创新技术&#xff0c;已经逐渐取代了传统的名片管理方式&#xff0c;成为商务人士不可或缺的工具。本文将从OCR名片识别的特点与优势出发&#xff0c;详细阐述其相较于传统人工处理名片的显著差别&#xff0c;并揭示其在…

在chrome中查找和验证xpath

1、快速获取XPath表达式 按F12打开chrome浏览器的开发者模式&#xff0c;点击选择光标&#xff0c;选择页面上的元素位置&#xff0c;在控制台右键选择Copy XPath&#xff0c;表达式就复制到粘贴板中了。 获取到的xpath路径&#xff1a;//*[id"hotsearch-content-wrapper…