事件委托:
通过函数事件源e对象里面的方法:target获取里面的子元素;
但是用e.target会有一个问题,当触摸到li的前面的时候,会触发碰到ul,全体变红;
所以我们要把ul本身存在的padding值去掉,要设置样式的时候,就用li去撑,就尽量避开设置ul的样式;
1.利用正则表达式来进行表单验证:
构造函数:var 变量 =new RegExp(表达式,修饰符);
i 执行对大小写不敏感的匹配;
g 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止);
/\d/ 检测是否有数字:
/[a-z]/检测是否是小写字母a-z:如果是大写,就会返回false:
但是当输入的是:Abc的时候,返回的是true,因为只要有一个满足,就会返回true;
/[a-z]/,"i" 检测是否有大写字母:(不区分大小写,只要是个字母,就会返回true);
也可以用字面量的方式:var 变量 =/表达式/修饰符;
正则表达式方法:
(1)reg.test(string) =》 返回的是存在就是true,不存在返回的是false;
(2)reg.exec(string)=》 匹配成功返回数组,并确定其位置,否则返回null
常用的表达式:
[a-z] 查找任何从小写a到小写 z 的字符:只要有一个符合就为true;
[A-Z] 查找任何从大写A到大写 Z 的字符:只要有一个符合就为true;
[0-9] 查找任何从0至 9 的数字:只要有一个符合就为true;
[abc] 查找括号内的任意一个字符:只要有一个符合就为true;
[^abc] 查找除了括号内的任意字符:只要有一个符合就为true;
常用的元字符(特殊字符) 注意:这些元字符在使用时需注意区分大小写
字符 描述
\w 匹配数字、字母、下划线 : 也可以用/[0-9a-zA-z_]/ :只要有一个符合就为true;
\W 匹配非数字、字母、下划线: 只要有一个符合就为true;
\d 匹配数字: 只要有一个符合就为true;
\D 匹配非数字:只要有一个符合就为true;
\s 匹配空白字符(空格、换行)
\S 匹配非空白字符
\n 匹配换行符:只匹配\n换行符,不匹配空白,空格;
★ ★ 常用的限定符:用的较多
^表示以什么开头
$表示以什么结尾
* 匹配前面的子表达式零次或多次
+ 匹配前面的子表达式一次或多次
? 匹配前面的子表达式零次或一次
但是这个会有点问题,当一个生效的时候,就显示true了;那么我们怎么解决这个问题?:
格式:/^[a-z0-9]?$/ :以小写字母或者数字开头的,以小写字母结尾或者数字结尾,出现0次或1次;
{n} 匹配确定的n次
{n,} 至少匹配n次
{n,m} 最少匹配n次且最多匹配 m 次:有上限有下限;
String类中可以支持正则的方法:
search=》返回匹配字符串的下标,否则返回-1;不加 i 区分大小写;
搜索存在的话,返回下标,不存在返回-1;
match=》如果没有找到任何匹配的文本, 返回 null。否则,它将返回一个数组(依赖于是否具有全局标志 g)
replace=》返回一个新的字符串 第一个是正则找到要改变的样式,第二个是要改成什么样式;
replaceAll的时候,要加全局g;
split=》返回一个字符串数组
如何验证汉字:
/^[\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设置一个过期时间:(不设置过期时间一样可以删除):
然后我们要删除:
获取当前时间,然后-1天,让过期时间过期。