cookie和正则表达式总结

1.什么是cookie?在js中表示浏览器文档中的一个数据字段,他的值是一段字符串,存储在浏览器中

2.cookie有什么用?当用户访问网站时,cookie用来记录用户的重要信息,再次访问网站时,通过cookie识别用户的信息,实现自动登录、用户提醒、收藏、收缩历史等功能

3.cookie和webStorage的区别?

(1),cookie数据量小,整个域名内最多存储限制为 4KB

webStorage数据量大, 整个域名内最多存储限制为 5MB

(2),cookie不仅仅存在于浏览器本地, 它可以随请求发给服务器,由服务器读取和修改

webStorage只能存储在浏览器本地,服务器无法读取和修改

(3),cookie是传统的前端技术,很早就用了, html5新增了webStorage功能

(4),cookie是document的属性, 而webStorage是window的属性

4.cookie的用法

cookie虽然是一个字符串,但字符串中是键值对结构

document.cookie = 'name = 张三'

cookie值是键值对结构,赋值的新键值对不会覆盖老键值对,会同时存在

document.cookie = ‘age = 20’ (如果键是唯一,赋值已有的键会把对用值更新 age = 30)

如果数据没有设置键,默认键为空,

document.cookie = ‘李四’

document.cookie = ‘王五’ 所以如果打印 李四会被王五覆盖,输出王五

cookie默认是会话存储,和sessionStorage相似,窗口关闭则清理

我们可以给cookie添加数据,设置cookie的有效期,和localStorage相似,在过期之前,cookie不会过期的时间点,用expires到达这个时间点,cookie会被自动清理

document.cookie = "sex=男;expires=Date Thu Mar 10 2022 09:58:08 GMT+0800"

直接在当前时间上修改的

例子: 设置一个有效期为1小时的cookie值

var now = new Date()

now.setHours(now.getHours() + 1)

document.cookie = "sex=男;expires="+now

也可以使用max-age设置cookie有效时常,默认单位秒,支持计算

document.cookie = "phone=110;max-age=60*60"

如果需要从本地cookie中取出年龄age值

var arr = document.cookie.split(';')

var str = arr.find(function(item){

//startsWith 判断字符串是否以某一段字符开头

return item.startsWith('age=')

})

/\d/-----匹配一个数字

/\d+/------匹配至少连续一个数字

正则后面加g,表示全局匹配,可以得到所有符合规则的结果

/\d/g--------匹配每一个数字

/\d+/g---------匹配字符串中每个连续的数字

正则表达式是区分大小写的,添加 i 可以不区分大小写

/^a+/i--------匹配以子母a开头的连续字母a

/^a[a-z]+/i-------匹配以字母a开头的连续的任意字母

(g和i可以一起用的)

new RegExp(/red|blue|green/, "gi")// new创建时gi可写入参数2

/red|blue|green/gi--------找到所有大小写字母x和y和z

/^1[3-9]\d{9}$/----------手机号正则等

你可能感兴趣的:(前端,javascript,html)