表单验证-正则表达式-cookie存值-学习总结

事件委托:

通过函数事件源e对象里面的方法:target获取里面的子元素;

但是用e.target会有一个问题,当触摸到li的前面的时候,会触发碰到ul,全体变红;

所以我们要把ul本身存在的padding值去掉,要设置样式的时候,就用li去撑,就尽量避开设置ul的样式;

e.target

1.利用正则表达式来进行表单验证:

构造函数:var 变量 =new RegExp(表达式,修饰符);

i 执行对大小写不敏感的匹配;

g 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止);

/\d/ 检测是否有数字:

/[a-z]/检测是否是小写字母a-z:如果是大写,就会返回false:

但是当输入的是:Abc的时候,返回的是true,因为只要有一个满足,就会返回true;

/[a-z]/

/[a-z]/,"i" 检测是否有大写字母:(不区分大小写,只要是个字母,就会返回true);

/[a-z]/,"i" 

也可以用字面量的方式:var 变量 =/表达式/修饰符;

正则表达式方法:
(1)reg.test(string) =》 返回的是存在就是true,不存在返回的是false;

(2)reg.exec(string)=》 匹配成功返回数组,并确定其位置,否则返回null

reg.exec(string)= 返回个数组,并显示下标;

常用的表达式:

[a-z] 查找任何从小写a到小写 z 的字符:只要有一个符合就为true;

[A-Z] 查找任何从大写A到大写 Z 的字符:只要有一个符合就为true;

[0-9] 查找任何从0至 9 的数字:只要有一个符合就为true;

[abc] 查找括号内的任意一个字符:只要有一个符合就为true;

[^abc] 查找除了括号内的任意字符:只要有一个符合就为true;

[^abc]

常用的元字符(特殊字符) 注意:这些元字符在使用时需注意区分大小写

字符 描述

\w 匹配数字、字母、下划线  :       也可以用/[0-9a-zA-z_]/ :只要有一个符合就为true;

\w 匹配数字、字母、下划线

\W 匹配非数字、字母、下划线:  只要有一个符合就为true;

\d 匹配数字:   只要有一个符合就为true;

\D 匹配非数字:只要有一个符合就为true; 

\s 匹配空白字符(空格、换行)

\S 匹配非空白字符

\n 匹配换行符:只匹配\n换行符,不匹配空白,空格;


★ ★ 常用的限定符:用的较多

^表示以什么开头

$表示以什么结尾

* 匹配前面的子表达式零次或多次

* 匹配前面的子表达式零次或多次

+ 匹配前面的子表达式一次或多次

+ 匹配前面的子表达式一次或多次

? 匹配前面的子表达式零次或一次

? 匹配前面的子表达式零次或一次

但是这个会有点问题,当一个生效的时候,就显示true了;那么我们怎么解决这个问题?:

 格式:/^[a-z0-9]?$/    :以小写字母或者数字开头的,以小写字母结尾或者数字结尾,出现0次或1次;

以小写字母或者数字开头的,以小写字母结尾或者数字结尾,出现0次或1次;

{n} 匹配确定的n次

{n} 匹配确定的n次

{n,} 至少匹配n次

{n,} 至少匹配n次

{n,m} 最少匹配n次且最多匹配 m 次:有上限有下限;

{n,m} 最少匹配n次且最多匹配 m 次


String类中可以支持正则的方法:

search=》返回匹配字符串的下标,否则返回-1;不加 i 区分大小写;

搜索存在的话,返回下标,不存在返回-1;

match=》如果没有找到任何匹配的文本, 返回 null。否则,它将返回一个数组(依赖于是否具有全局标志 g)

replace=》返回一个新的字符串 第一个是正则找到要改变的样式,第二个是要改成什么样式;

replaceAll的时候,要加全局g;

replace

split=》返回一个字符串数组


如何验证汉字:

/^[\u4e00-\u9fa5]+$/(记忆法:有事100 有酒罚我);

/^[u4e00-\u9fa5]+$/(记忆法:有事100 有酒罚我);

如何验证手机号:/^1[34578][0-9]{9}$/   或者  /^1[34578]\d{9}$/

如何验证邮箱:/^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/  

或者:/^[\w-]+@[\w-]+(\.[\w-]+)+$/

(\表示转义符 把.转化为字符串的,并且使用()分组,就是把.com 或者.cn当成一组)

()后面使用+号,表示可能有一组,可能有多组;

例如:把abc123efg';变成'abc[1][2][3]efg':

第一种方法:

但是有一个缺陷当有空格的时候,isNAN返回的也i是true;

也会被循环选中;

第二种:

用正则的方法:推荐使用:

第三种:

用replace函数:最简单:


Cookie:    Cookie 用于存储页面的用户信息

常见例子:自动登录、记住用户名或密码:

Cookie特性

域名和端口一致,就算路径不一样,也可以所有页面共享一套Cookie;

和localStorage 、sescionStorge的区别是什么:

1.Cookie所占的数量有限,存储的东西比较少,浏览器一半只允许存放300多个cookie,每个站点最多存放20个cookie,每个cookie的大小限制不超过4kb;

Cookie

那么添加了cookie后,如何删除呢?:

首先我们要给cookie设置一个过期时间:(不设置过期时间一样可以删除):

然后我们要删除:

获取当前时间,然后-1天,让过期时间过期。

获取当前时间,然后-1天,让过期时间过期。

你可能感兴趣的:(表单验证-正则表达式-cookie存值-学习总结)