• 正则的细节


      1.正则:检验字符串的规则

      2.正则就是有元字符和修饰符构成:(写在//里面的都叫元字符)

      元字符分两种:

        1种是有特殊意义的 例如:/d/表示数字

        2种没特殊意义 没有特殊意义就是字符本身

      3.特殊意义的元字符

        1. 转义字符 转义后面紧跟的字符的意义

        2. d 有意义(数字) .无意义(是什么就是什么)

        3.   .  代表除了 以外的任何单个字符

        4.^以什么什么开头,^读音:kongchu

        5.$ 以什么结束, $就是$本身,n$就是包含$的结尾;

        6.| 代表或的意思;

      4.带有量词意思的元字符:

        1.? 代表0到1个;

         *代表0到多个;

         +代表1到多个

        {}系列

      5.[]系列元字符;

        [xyz]  代表x或y或z中的任意一个

        [0-9]  代表0到9之间的任意一个

        [a-z]  代表小写a到小写z

        [A-Z]  代表大写A到大写Z

        [A-z]  代表大写A到小写z(不区分大小写)

      6.()分组系列:

        (x|y)  x或y中的其中一个;

      正则的细节:(正则定义的区别)

        var reg=/hello/g    (/hello/)代表元字符 不可以用字符串拼接

          字面量定义

        var reg=new RegExp("hello","g")   ("hello" 代表字符串,可以通过字符串拼接)

          对象实例定义

      3.       /./和/./的区别?

        . 任意字符

        .就是一个点

      4[.],[+]的意思

        .和+在正则里面是特殊的元字符;

        . 是任意字符  +是 量词代表多个

        在[.]和[+]就是这个字符本身没有意义;

      5.   |代表或

        [2|3]代表2或3;

        [12|34]代表1或2|3或4,或者12或者34  

        往往这种情况需要分组()  (^(12)|(34)$)

      6. -的问题:

        /-/就是本身没有意义

        如果[0-9]代表 0到9之间的任意一个数字;

        

      正则的案例:

        1.写一个12到65周岁的正则:

          var reg=/^(1[2-9])|(2-5[0-9])|(6[0-5])/

          var st="13"

          console.log(reg.test(st))

        2.写一个正常数字的正则;

          var reg=/^[+-]?([0-9]|[1-9]d+)(.d+)?$/

          var st="-20.13"

          console.log(reg.test(st))

        3.写一个邮箱验证

          var reg=/^[a-zA-Z](w|-){5,17}@((136|126).com)|(yeah.net))$/

          var st="as122@136.com"

          console.log(reg.test(st))

      总结:正则每写完一部分就用()包起来     -不是特殊符

      使用定时器的地方先清定时器,防止定时器叠加

  • 相关阅读:
    POJ 1077 Eight(单向搜索)
    HDU 1943 Ball bearings(简单数学问题)
    POJ 2632 Crashing Robots(水模拟)
    HDU 1047 Integer Inquiry(高精度加法)
    POJ 1068 Parencodings(模拟)
    [转]修改 ibatis 分页机制(ORACLE物理分页)
    实现判断机器大小端的两种方法
    linux环境下库的制作和升级
    fork函数的理解1
    如何求一个文件的行数?
  • 原文地址:https://www.cnblogs.com/shangjun6/p/10151569.html
Copyright © 2020-2023  润新知