WebAIPS 本地存储,正则表达式

location对象

 location.href  获取完整的url路径,对其赋值时用于页面跳转

 const reload = document.querySelector('.reload')
     console.log(reload)
     reload.addEventListener('click', function () {
       //点击按钮跳转地址,location.href=''
       location.href = 'https://www.csdn.net'
    })

Location.search获取到地址路径?后面的参数,没有返回空字符串,要在控制台使用

location.hash获取地址路径#后面的参数

location.reload()f5刷新,括号里传入true,为强制ctrl+f5刷新

本地储存(⚠️)

可以把数据存储在浏览器中

容量较大,sessionStorage和localStorage约 5M 左右

localStorage

可以永久的将数据存储在浏览器中,除非主动删除

 let data = '一元'
     //储存数据
     localStorage.setItem('name', data)
     //获取数据
     let name = localStorage.getItem('name')
     //控制台打印
     console.log(name)
     //修改数据
     let data2 = '二元'
     localStorage.setItem('name', data2)
     //新增数据
     let data1 = '三元'
     localStorage.setItem('name1', data1)
     //删除数据
     // localStorage.removeItem('name')

复杂数据类型⚠️

要使用 JSON.stringify(复杂数据类型) 来转换为json字符串才能储存在本地

取出的时候也需要使用 JSON.parse() 进行转换为复杂数据类型

  
 //复杂数据类型
     let obj = {
       name: '美美',
       age: 18,
       love: '干饭',
    }
     //使用josn方法变为josn字符串储存在本地
     localStorage.setItem('uname1',JSON.stringify(obj))
     //使用josn将josn字符串转换为obj使用
     const data1 = JSON.parse(localStorage.getItem('uname1'))
     console.log(data1)

map方法⚠️  

//map方法数组循环
     let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
     //arr.map(function (数组中每个值, 下标){})
     const newarr = arr.map(function (item, index) {
       console.log(item) //每个值
       console.log(index) //每个下标
       return (item += 5) //是一个新数组newarr
    })
     console.log(newarr)

join数组方法⚠️

把数组转换为字符串

let arr = ['red', 'green', 'blue']
     console.log(arr.join('$'))//red$green$blue
     console.log(arr.join('&'))//red&green&blue

正则表达式

正则表达式(Regular Expression)是用于匹配字符串中字符组合的模式

 let str = '我是下令,小明是笨蛋'
     //定义规则
     const reg = /小明/
     //test()方法,只有正则表达式可以使用,如果找到返回true,没有找到返回false
     console.log(reg.test(str))
     //exec()方法返回一个数组
     console.log(reg.exec(str))

元字符

边界符

^表示匹配行首的文本(以谁开始)
$表示匹配行尾的文本(以谁结束)
 // console.log(/哈/.test('哈'))
     // ^以谁开头
     console.log(/^哈/.test('哈'))//true
     console.log(/^前端/.test('前端很有意思'))//true
     console.log(/^前端/.test('很有意思前端'))//false
     // $以谁结尾
     console.log(/^哈$/.test('哈')) //^和$一起存在的时候只能有一个字符
     console.log(/前端$/.test('很有意思前端')) //true

量词

量词说明
*重复零次或更多次
+重复一次或更多次
?重复零次或一次
{n}重复n次
{n,}重复n次或更多次
{n,m}重复n到m次
 
  //* 大于等于0次
     console.log(/^哈*$/.test('')) //true
     console.log(/^哈*$/.test('哈哈哈')) //true
     console.log(/^哈*$/.test('啊哈哈')) //false
​
     //+大于等于一次
     console.log(/^哈+$/.test('啊哈哈')) //false
     console.log(/^哈+$/.test('')) //false
     console.log(/^哈+$/.test('哈哈哈哈哈')) //true、
​
     //?重复0次或者一次
     console.log(/^哈?$/.test('哈')) //true
     console.log(/^哈?$/.test('哈哈哈哈哈哈')) //false
​
     //{n} 次数n次
     console.log(/^哈{2}$/.test('哈哈哈哈哈哈')) //false
     console.log(/^哈{4}$/.test('哈哈哈哈')) //false
​
     //{n,}大于等于n
     console.log(/^哈{4,}$/.test('哈哈哈哈')) //true
​
     //{n,m} 大于等于n并且小于等于m 逗号两边不要加空格
     console.log(/^哈{4,5}$/.test('哈哈哈哈')) //true

字符类

   //[] [a,b,c,d]任意一个
      console.log(/^[a,b,c,d]$/.test('a')) //true
      console.log(/^[a,b,c,d]$/.test('bc')) //false

      //连词 [a-z]
      console.log(/^[a-z]$/.test('a')) //true
      console.log(/^[a-zA-Z]$/.test('aA')) //false

      //[] ^取反符
      console.log(/^[^a-z]$/.test('')) //false
      console.log(/^[^a-z]$/.test(' ')) //true

字符类预定义

预定类说明
\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]
 	console.log(/^\d$/.test('a')) //false
      console.log(/^\d$/.test('0')) //true
      console.log(/^\D$/.test('a')) //true
      console.log(/^\w$/.test('a')) //true
      console.log(/^\w$/.test('_')) //true
      console.log(/^\W$/.test('a')) //false

正则修饰符

  • i 是单词 ignore 的缩写,正则匹配时字母不区分大小写

  • g 是单词 global 的缩写,匹配所有满足正则表达式的结果

 let str = 'fsajyffsajuhkFFJKABFHAH'
      str = str.replace(/f/gi, '*')
      //*sajy**sajuhk**JKAB*HAH
      console.log(str)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值