js中的正则

Posted on 2018-12-21 10:37  中二病也儒要戀愛  阅读(111)  评论(0编辑  收藏  举报
闭包:
 函数在调用的时候会形成私有的作用域,对内部的变量起到保护的作用,这就是闭包;
 
变量销毁:
 1.人为销毁 : var a = 12;   a = null;
 2.孜然销毁 ; 函数在调用完之后,浏览器会自动销毁函数里的变量;
闭包优势:
 1.保护函数;
 2.缓存数据;
闭包形式:
 1.对象形式;
 2.函数式;
闭包返回值的问题:
 每个函数都有返回值,如果人为返回, return 的什么就是什么 如果没有就是Undefined;
闭包怎么缓存数据?
 
 

正则regexp
 正则 就是一条规则,用于检验字符串的格式,目标就是字符串;
 表单提交的数据就是"字符串"''
正则定义
 1.var reg = new RegExp()
 2.var reg = /格式/
正则的方法:
 就两大功能,一个是匹配,匹配成功就是true,第二个就是捕获,如果有就拿出来。
 test () 用于匹配
 exec () 用于捕获
 
正则修饰符
 如何去匹配
  1.区不区分大小写;i
  2.全局:g
  3.  m 代表多行匹配
 怎么使用:
 1.var reg = new RegExp("hello",g);
 2.var reg = /hello/gi;
字符串的方法 · 跟正则有关
 1.match () 查找一个或多个与正则相匹配的,有就返回的是查找的结果,没有就null;
 2.search () 匹配和正则相同的字符,有就返回索引,没有就-1;
 3.replace () 匹配与正则相同的病体换掉,返回的是替换后的字符串;
正则的方括号
  1.[abc] 代表查找方括号中的任何字符;
 
 2.[^abc] 代表查到一个不再方括号之间的字符;
 
 3.[0 - 9] 查找0到9之间的数字
 
 3.[a - z] 查找小写a到小写z的字符;
 
 4.[A - Z] 查找大写A到大写Z的字符;
 
 5./[(red|blue|yello)]/
元字符:
 1.   .代表单个字符
 2.   \w代表单词字符··数字··字母··下划线。                          
 3.  \W代表非单词字符
 4.  \d代表数字
 5.  \D代表非数字
 6.  \s代表空白字符
 7.  \S代表非空白字符
 8.  \b代表单词边界
 9.  \B代表非单词边界
量词: 
 1.  \n+ = 代表至少一个或多个n的字符;
 2.  \n* = 代表0个或多个n;
 3.  \n? = 包含0个或1个n;
 4.  \n{} = 包含x个n;
 5.  \n{x,} = 包含至少x个n;
 6.  \n{x,y} = 包含大于等于x个小于等于y个n;
 7.  \n$ = 包含以n结尾的字符串;
 8.  \^n 包含n开头的字符串;
 9.  \? = 指定字符串后面紧跟的n的字符串;
 
正则的解释:
 1.正则的懒惰性
  每一次exec()中捕获的时候,只捕获第一次匹配的东西,而不往下捕获了,我们把这叫正则的懒惰性;
  每一次捕获的开始位置都是从0开始!
 2.正则的贪婪性
  每一次匹配
   
 3.解决正则的懒惰性只需要加个修饰符:g;
 
 
循环语句: 
 条件语句:if switch;
 循环语句:for while;
 
 
 
正则的实例对象reg上有一个lastindex属性·他是正则捕获的起始位置;
 解决正则的贪婪性;