js正则表达式详解(一):语法

什么是: 专门定义一类字符串统一规则的表达式 


   何时: 1. 按照指定规则模糊查找一类关键词时
            2. 表单中验证输入项的格式


   如何: 语法:    
      1. 最简单的正则其实就是关键词原文
      2. 字符集: 规定字符串中一位字符可用的备选字符列表
         何时: 只要某一位字符,有多个备选字时
         如何: [备选字符列表]
           强调: 一个字符集只能匹配一位字符
           简写: 如果备选字符列表是连续的,就可用-省略中间字符
              一位字母: [a-zA-Z]
              一位数字: [0-9]
              一位汉字: [\u4e00-\u9fa5]
         特殊: 除了: [^排除的字符列表]
                    强调: ^必须写在[开头]
     3. 预定义字符集: 4个:
          \w  一位字母数字或_  =>[a-zA-Z0-9_]
          \d  一位数字  => [0-9]
          \s  一位空字符: 空格,Tab,...
          .    一位任意字符
        强调: 一个预定义字符集仅匹配一位字符
                 只有规则和预定义字符完全一致时,才能使用
                      如果不一致, 依然需要手写普通字符集
         字符集仅控制每个字符的内容
     4. 量词: 专门固定字符出现的次数
         有明确数量边界: 
           字符集{min,max}   规定字符集必须最少出现min次
                                                                 最多max次
           字符集{min,}   最少min次, 多了不限
           字符集{n}        必须n次
         没有明确数量边界:
           字符集?     可有可无,最多一次
           字符集*     可有可无,多了不限
           字符集+    {1,}
         强调: 仅修改相邻的前一个字符集
     5. 选择和分组: 
         分组: 将多个字符集分成一组: 
             何时: 如果希望一个量词同时修饰多个字符集时
            比如: 我(了个?)?去: 我去   我了去   我了个去    我个去X
         regexper.com
         选择: 其实就是"或"   规则1|规则2 
            只要匹配任意一个规则即可
            (微|w(ei)?)\s*(信|x(in)?)
       
     手机号: 
         (\+86|0086)?      +86或0086  可有可无,最多一次
         \s*                        空字符 可有可无,多了不限
         1
         [34578]               34578中挑一个
         \d{9}                    9位数字
         (\+86|0086)?\s*1[34578]\d{9}
     邮箱:
         字母/数字或_   一次以上
         @
         字母或数字      2位以上
         (.和 字母或数字      2到3位)   1到2次
         \w+@[a-zA-Z0-9]{2,}(\.[a-zA-Z0-9]{2,3}){1,2}

   6.指定匹配位置: 三个位置: 
      ①字符串的开头  ^
      ②字符串的结尾  $
         比如: 开头的空字符: ^\s+
                  结尾的空字符: \s+$
                  开头或结尾的空字符^\s+|\s+$
         固定套路: 只要希望字符串和正则从头到尾完全匹配
                         比如同时前加^后加$
                只要用正则表达式执行验证时,必须前加^后加$
      ③单词边界        \b  包含: ^  $   空格    标点
         比如: 单词首字母: \b[a-z]
                  单词尾字母: [a-z]\b
                  单独的一个单词no: \bno\b

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值