正则表达式

100 阅读2分钟

正则的概念

         处理字符串的规则

作用

         验证字符串
                正则.test(字符串) -- 返回一个布尔值 -- 判断字符串中是否包含满足规则的部分
                字符串.search(正则) -- 下标或-1 -- 从字符串中找满足规则部分的下标
                
         提取字符串
                正则.exec(字符串) -- 数组
                字符串.match(正则) -- 数组
                都是从数组中找满足规则部分,将他放在数组中、
         
         替换字符串
                 字符串.replace(正则,新内容) -- 替换后的新字符串 -- 满足规则的部分替换成新内容
                 

语法

        定义  
            字面量方式 -- var reg =/规则/
            构造函数方式 -- var reg =new RegExp('规则')
            
       组成部分 
           字符 
               普通字符 -- 普通字符串中的字符
               元字符 -- 特殊字符
                               \d -- 表示一个任意数字
                               \w -- 表示一个任意数字字母下划线
                               \s -- 表示一个空格
                               .  -- 表示一个任意字符
                               \D -- 表示一个非数字字符
                               \W -- 表示一个非数字字母下划线字符
                               \S -- 表示一个非空格字符
           修饰符
               修饰次数
                       + -- 前面字符最少出现1次
                       ? -- 前面字符最多出现1次
                       * -- 前面字符出现任意次数
                       {n} -- 前面字符必须出现n次
                       {n,} -- 前面字符最少出现n次
                       {n,m} -- 前面字符最少出现n次,最多出现m次
               
               修饰开头结尾
                       ^ -- 规定必须以某个字符开头,放在正则最前面
                       $ -- 规定必须以某个字符结尾,放在正则最后面
               
               其他
                       [] -- 其中的任意一个 -- 当作一个字符看待
                       () -- 这是一个整体
                       |  -- 或者
                       g  -- 开启贪婪模式 -- 写在斜杠的后面
                       i  -- 忽略大小写   -- 写在斜杠的后面
                       -  -- 到 
                       \  -- 转义 -- 放在特殊符号的前面
         
          案例
              邮箱正则
              手机号正则
              简单的用户名和密码的正则