zoukankan      html  css  js  c++  java
  • js学习总结----正则的元字符和一些简单的应用

    一、元字符:

      每一个正则表达式都是由元字符和修饰符组成的

      [元字符] ->在两个/之间的具有意义的一些字符 

    reg = /^d$/  //只能是一个0-9之间的数字   

      1、具有特殊意义的元字符

       : 转义字符,转译后面字符所代表的含义

      ^ : 以某一个元字符开始

      $ : 以某一个元字符结尾  

            : 匹配一个换行符

      . : 除了 以外的任意字符 

      () : 分组 -> 把一个大正则本身划分成几个小的正则 

      x|y : x或者y中的一个

      [xyz] : x或者y或者z中的一个

      [^xyz] : 除了三个以外的任何一个字符

      [a-z] : a-z之间的任何一个字符

      [^a-z] : 除了a-z之间的任何一个字符

      d : 一个0-9之间的字符  D 除了0-9之间的数字以外的任何字符

       : 一个边界符 "w1 w2 w3"

      w : 数字、字母、下划线中的任意一个字符 [0-9a-zA-Z_]

      s : 匹配一个空白字符  空格、一个制表符、换页符...

      2、代表出现次数的量词元字符

      * : 出现零次到多次

      + : 出现1到多次

      ? :出现零次或者1次

      {n} :出现n次

      {n,} :出现n到多次

      {n,m} :出现n到m次 

    var reg = /^d+wod+$/;// 123wo234

    var reg = /^(d+)wo(d+)$/;
    var reg = /^0.2$/   // 以0开头 2结尾,中间可以是除了
    的任意字符
    var reg = /^d+$/;//只能是多个数字
                console.log(reg.test('2017'))//true
                //一个简单的验证手机号的正则:11位数字,第一位为1
                var reg = /^1d{10}$/;

    二、元字符应用

      []

          1、在中括号中出现的所有的字符都是代表本身意思的字符(没有特殊的含义)。

       2、中括号不识别两位数

       var reg = /^[12-68]$/    ->代表1、2-6中的一个、8三个中的一个   这个方法是错误的

      ()

        1、分组的作用一: 改变x|y的默认的优先级  

           var reg = /^18|19$/;
                //符合条件的有18、19、181、189、119、819、1819
           var reg = /^(18|19)$/  //18、19

      1、有效数字的正则   正数、负数、零、小数

       1)、"."可以出现也可以不出现,但是一旦出现,后面必须跟着一位或者多位数字

       2)、最开始可以有+/-也可以没有

       3)、整数部分,一位数可以是0-9之间的一个,多位数不能以0开头

       正则如下  

    var reg = /^[+-]?(d|([1-9]d+))(.d+)?$/
  • 相关阅读:
    [Docker]一键部署gitlab中文版
    [Docker]python 2.7.5 docker-compose安装
    [CentOS7]pip安装
    快速傅里叶变换FFT
    HDU 4734 f(x)
    DP
    HDU 3555 Bomb
    HDU 5898 odd-even number
    将文本拷贝到剪贴板
    数论分块
  • 原文地址:https://www.cnblogs.com/diasa-fly/p/7099376.html
Copyright © 2011-2022 走看看