2017.11.09正则表达式

垃圾回收

垃圾回收机制:内存泄漏

垃圾回收/生命周期

局部:很短——函数执行完毕局部变量会回收
全局:很长——页面关闭之后全局变量会回收
闭包:可长可短——当里面的函数还有用时,整条作用域链上的变量都不会消失
作用域链:先在当前函数找,如果找不到就找父级函数,一级一级往上找,知道找到全局

正则表达式(规则表达式)

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      

你可能感兴趣的:(2017.11.09正则表达式)