正则表达式

60 阅读1分钟

js复杂类型

    一、正则用法
    1.字面量用法 
    var reg = /abc/
    console.log(reg);
    2.内置构造函数
    var reg2 = new RegExp('abc')
    console.log(reg2);

    mytext.onblur = function () {
      console.log(mytext.value);
      console.log(reg.test(mytext.value));
    }
    
    二、元字符
    1.\d 包含一位数字
    var reg = /\d/
    console.log(reg.test("abc"));
    console.log(reg.test("123"));
    console.log(reg.test("1a"));
    2.\D 包含一位非数字
    var reg = /\D/
    console.log(reg.test("abc"));
    console.log(reg.test("123"));
    console.log(reg.test("1"));
    3.\s 1位空白(空白 缩进 换行)
    var reg = /\s/
    console.log(reg.test("12 3a"));
    console.log(reg.test("123"));
    4.\s 1位非空白
    var reg = /\S/
    console.log(reg.test(" 1 "));
    console.log(reg.test("  ")); 
    
    三、边界符
    // 开头
    var reg = /\d/
    console.log(reg.test("laabb2"));
    console.log(reg.test("aallbb"));
    // $ 结尾边界
    var reg = /\d$/
    console.log(reg.test("aabb2"));
    console.log(reg.test("laabb"));

    // ^开头结束$
    var reg = /^abc*/
    console.log(reg.test("abc"));
    console.log(reg.test("abcd"));
    console.log(reg.test("dabc"));
    四、限定符
    // /\d\d\d\d\d/
    // 1.* 0 ~多次
    console.log(reg.test("abc"));
    console.log(reg.test("abc1"));
    console.log(reg.test("abc12"));

    //2. +1~多次
    var reg = /\d*/
    console.log(reg.test("abc"));
    console.log(reg.test("abc1"));
    console.log(reg.test("abc124vb"));

    // 3.? 0~1
    var reg = /\d?/
    console.log(reg.test("abc"));
    console.log(reg.test("ab1"));
    // 4,{n} 指定次数
    var reg = /\d{3}/
    console.log(reg.test("abc"));
    console.log(reg.test("ab12"));
    console.log(reg.test("ab123"));
    // 4.{n,}>=n
    var reg = /\d{3,}/
    console.log(reg.test("aaa"));
    console.log(reg.test("ab12"));
    console.log(reg.test("ab123"));
    console.log(reg.test("ab1234"));
    // 5.{n,m}
    var reg = /\d{3,5}/
    console.log(reg.test("aaa"));
    console.log(reg.test("ab12"));
    console.log(reg.test("ab123"));
    console.log(reg.test("ab1234"));
    五、特殊字符
      // 1.()整体
    var reg2 = /(abc){2}/
    console.log(reg2.test("abc"));
    console.log(reg2.test("abcabc"));
    // 2.|或.
    var reg = /a|b/
    var reg2 = /abc|def/
    // console.log(reg.test("123"));
    // console.log(reg.test("1a3"));
    // console.log(reg.test("12b"));
    console.log(reg.test("abcef"));
    console.log(reg.test("abdef"));
    // 3.[]代表1个
    // var reg = /[abcdef]/
    var reg = /[abcdef]{3,5}/ // 3 - 5次一个字符
    console.log(reg.test("xa"));//true
    //[a-zA-Z0-9]
    // [0-9] /d
    // 4[^abc]\
    var reg2 = /[^abc]/
    console.log(reg2.test("a"));
    console.log(reg2.test("xyza"));