垃圾回收
垃圾回收機制:內存泄漏
垃圾回收/生命周期
局部:很短——函數執行完畢局部變量會回收
全局:很長——頁面關閉之后全局變量會回收
閉包:可長可短——當里面的函數還有用時,整條作用域鏈上的變量都不會消失
作用域鏈:先在當前函數找,如果找不到就找父級函數,一級一級往上找,知道找到全局
正則表達式(規則表達式)
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