zoukankan      html  css  js  c++  java
  • JS——正则

    正则的声明:

    1、构造函数:var 变量名= new RegExp(/表达式/); 

    2、直接量:var 变量名= /表达式/;

    test()方法:

    1、正则对象方法,检测测试字符串是否符合该规则,返回true和false,参数(测试字符串)

    2、Boolean = 表达式.test("要验证的内容");  

    正则内部类:

    1、预定义类

    .       除了换行和回车之外([^
    
    ])的任意字符(“”空字符不行)
    d     [0-9]                   数字字符
    D     [^0-9]                  非数字字符
    s     [	
    x0Bf
    ]          空白字符 
    S     [^ 	
    x0Bf
    ]        非空白字符
    w     [a-zA-Z_0-9]            单词字符
    W     [^a-zA-Z_0-9]           非单词字符 

    2、简单类

    1、/string/.test(“string”);            必须是完整的,只多不能少
    /andy/.test(“andy”)                      // true
    /andy/.test(“andylv”)                    // true
    /andy/.test(“an”)                        // false
    //一句话,只要完整包含了andy 就可以了(有他就行)
    
    2、/[string]/.test(“string”);          只要包含里面的任何一个就可以
    /[andy]/.test("andy");                  // true
    /[andy]/.test("an");                    // true
    /[andy]/.test("ady");                   // true
    /[andy]/.test("anll");                  // true
    /[andy]/.test("assd");                  // true
    /[andy]/.test("ss");                    // false
    /[3aH8]/.test("ss");                    // false

    3、负向类

    //中括号内,前面加个元字符^进行取反
    //可以不够,但是不能多
    //不够和正好,返回false;多了或者没有返回true
    console.log(/[^abc]/.test('a'));        //false
    console.log(/[^abc]/.test('abc'));      //false
    console.log(/[^abc]/.test('abcd'));     //true

    4、范围类

    //有时匹配的东西过多,而且类型又相同,全部输入太麻烦,我们可以在中间加了个横线
    console.log(/[a-z]/.test('1111'));
    console.log(/[A-Z]/.test('aa'));

    5、组合类

    //用中括号匹配不同类型的单个字符。
    console.log(/[a-m1-5]/.test("b"))       //true

    正则边界

    1、^ 会匹配行或者字符串的起始位置(^在[]中才表示非!这里表示开始)

    2、$ 会匹配行或字符串的结尾位置

    //^$在一起 表示必须是精确匹配
    console.log(/lily/.test("lilyname"));    // true
    console.log(/^lily$/.test("lily"));      // true
    console.log(/^lily$/.test("ly"));        // false

    量词

    //量词的意思是多个字母,重复最后一个
    *   (贪婪)   重复零次或更多       (>=0)
    +   (懒惰)   重复一次或更多次      (>=1)
    ?   (占有)   重复零次或一次       (0||1)  数量为0或者1

    比较特殊的{}

    //{}重复多少次的意思,可以是个范围值,也可以是具体个数
    {n}         n次           (x=n) 
    {n,}        重复n次或更多   (x>=n)
    {n,m}       重复出现的次数比n多但比m少 (n<=x<=m)
    *           {0,}
    +           {1,}
    ?           {0,1}

    或者“|”,配合()提高权限

    //匹配座机号码
    var regexp  = /^(0d{2}-d{8})|(0d{3}-d{7})$/;
    var demo    = /^0d{2}-d{8}$|^0d{3}-d{7}$/;

     符号

    1、() 是为了提取匹配的字符串。表达式中有几个()就有几个相应的匹配字符串。(s*)表示连续空格的字符串。

    2、[]是定义匹配的字符范围。比如 [a-zA-Z0-9] 表示相应位置的字符要匹配英文字符和数字。[s*]表示空格或者*号,([sS]*)表示换行空格在内的所有文本

    3、{}一般用来表示匹配的长度,比如 s{3} 表示匹配三个空格,s[1,3]表示匹配一到三个空格

    4、(0-9) 匹配 '0-9′ 本身。 [0-9]* 匹配数字(注意后面有 *,可以为空)[0-9]+ 匹配数字(注意后面有 +,不可以为空){1-9} 写法错误。

    5、[0-9]{0,9} 表示长度为 0 到 9 的数字字符串。

  • 相关阅读:
    Qt学习之路(33): 国际化(上)
    Qt学习之路(34): 国际化(下)
    QT中文乱码与国际化支持
    MAKEINTRESOURCE
    Qt 资源系统
    用QT在Windows下编写dll程序
    MessageBox
    ADF(自动输稿器)概述
    Visio Studio中的resource.h文件.rc资源
    求正约数个数
  • 原文地址:https://www.cnblogs.com/wuqiuxue/p/8023538.html
Copyright © 2011-2022 走看看