js正则

2019-03-06  本文已影响0人  loser_b45d

//字面量方式

    // let reg = /\d/;

    //实例创建方式

    // let reg = new RegExp("");

    //正则的两种创建方式是有区别的

    //在字面量方式中,//之间包起来的所有内容都是元字符,有的具有特俗的意义,大部分都是代表本身含义的普通的元字符

    let name = "name";

    let reg11 = /^\d+"+name+"\d+$/;

    console.log(reg11.test("20103name2345"));//false

    console.log(reg11.test('2334"""nameeee"2016"'));//true

    //需要用字符串拼接的方式创建正则,只能使用实例

    let reg12 = new RegExp("^\\d+" + name + "\\d+$");

    console.log(reg12.test("20102name0044"));//true

    //字面量方式实例创建的方式在正则中的区别

    //1.字面量方式中出现的一切都是元字符,所有不能进行变量值的拼接,而实例创建的方式是可以的

    //2.字面量方式中直接写\d就可以,而在实例中需要把它转译 \\d

    /*

      正则是用来处理字符串的

      1.匹配:判断一个字符串是否符合制定的规则,例如reg.test(str)

      2.捕获:把字符串符合正则规则的内容捕获到,例如reg.exec(str)

    */

    // console.log(RegExp.prototype)

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

    // let reg = /^[.]$/;   

    // "|"符号使用

    let reg = /^18|19$/;

    console.log(reg.test("1"));//false

    console.log(reg.test("19"));//true

    console.log(reg.test("189"));//true

    //出现以上结果的原因是优先级不是18|19,而是^或者$,改进为/^(18|19)$/

    /*

      1.有效数字的正则,有效数字为正数 负数 零 小数

        实现思路:

          1)小数的"."可以出现也可以不出现,出现则后面一定跟着一位或多位的数字

          2)最开始可以有"+"或者"-",也可以没有二者

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

    */

    //\d表示1位数,[1-9]\d+表示多位数,\.\d+表示小数点及其后面的数字,[+-]?加号和减号可能出现或者不出现

    let significanceDigitReg = /^[+-]?(\d|([1-9]\d+))(\.\d+)?$/;

上一篇下一篇

猜你喜欢

热点阅读