垃圾回收
垃圾回收机制:内存泄漏
垃圾回收/生命周期
局部:很短——函数执行完毕局部变量会回收
全局:很长——页面关闭之后全局变量会回收
闭包:可长可短——当里面的函数还有用时,整条作用域链上的变量都不会消失
作用域链:先在当前函数找,如果找不到就找父级函数,一级一级往上找,知道找到全局
正则表达式(规则表达式)
Regular Expression:操作字符串的
怎么用正则 new RegExp('正则','选项');
选项 i=Ignore:忽略:忽略大小写
转义
\
\d 所有数字
\t 一个制表符
\n 换行
正则的简写:/规则/选项
正则特性
1 懒 选项 g=global 全局的
2 笨 量词 5个梨 梨{5}
模糊 (若干) 梨+
3 贪婪
敏感词汇过滤
str.replace(要替换的,替换成谁)
/第一个|第二个/
str.replace(str|re,str|fn);
小说格式修理
行首:^
行尾:$
默认是单行模式
多行模式:选项 m muti-line:多行模式
[]
任选一个
/a[abc]c/
/a[abc]+c/
/abc+/
范围
/[0-9]/ 所有数字
/[a-z]/ 所有小写字母
/[A-Z]/ 所有大写字母
/[0-9a-zA-Z]/ 所有数字和英文字母
/a(bc)+/
排除
/[^0-9]/ 除了数字
/[^a-z]/ 除了小写字母
/[^A-Z]/ 除了大写字母
/[^0-9a-zA-Z]/ 除了数字和字母
/abc\-123/
量词
{n} n个
{n,m} 最少n个,最多m个
{n,} 最少n个,做多不限
? {0,1} 出现一次或者不出现
+ {1,} 最少出现一次
* {0,}出现几次都可以,随意
转义
\d [0-9] 所有数字
\w [a-zA-Z0-9_] 所有数字和英文_
\s 所有空白符号
\D [^0-9] 除了所有数字
\W [^0-9a-zA-Z_]除了所有英文和数字_
\S' 除了所有空白符号
. 所有字符
\. 正常的字符串
方法
搜索:str.search(re)
匹配:str.match(re)
替换:str.replace(str|re,str|fn)
校验:re.test(str)
校验的时候必须加行首和行尾
分段效验
邮箱
名字 \w+
@ \@
域名 [0-9a-zA-Z\-]+
域名后缀(\.[a-zA-Z]{2,6}){1,2}
/^\w+\@[0-9a-zA-Z\-]+(\.[a-zA-Z]{2,6}){1,2}$/
/^\w+\@[a-zA-Z0-9\-]+(\.[a-zA-Z]{2,6}){1,2}$/
座机
区号
3-4位数字
第一位一定是0
第二位一定不是0
0[1-9]\d{1,2}
号码\-
第一位不是0
7-8位数字
[1,9]{6,7}
/^0[1-9]\d{1,2}\-[1,9]{6,7}$/
/^0[1-9]\d{1,2}\-[1-9]{6,7}$/
手机号
/^1[34578]\d{9}$/
/^1[34578]\d{9}$/
年龄
189 1[89]
20-99 [2,9]\d
100 100
/^(1[89]|[2,9]\d|100)$/
/^(1[89]|[2-9]\d|100)$/
身份证
第一位不是0 [1,9] \d{14,17}\d\x
15或18位
最后一位可以是X