美文网首页
正则-字面量方式与实例创建方式的区别

正则-字面量方式与实例创建方式的区别

作者: 子心_ | 来源:发表于2019-06-14 21:30 被阅读0次

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

    var reg = /^\d"+name+"\d+$/g;
    console.log(reg.test("2011nihao2019"));//->false
    console.log(reg.test('2015"""nameeee"2016')); //->true
    

    对于这样的需求,我们只能使用实例创建的方式了:

    var reg = new RegExp("^\\d+"+name+"\\d+$", "g");
    console.log(reg.test("2018name2019"))//->true
    

    字面量方式和实例创建的方式在正则中的区别?
    1)字面量方式中出现的一切都是元字符,所以不能进行变量值的拼接,而实例创建的方式是可以的
    2)字面量方式中直接写\d就可以,而在实例中需要把它转义\d

    例:
    1.年龄介于18~65之间 18-19 20-59 60-65

    var reg = /^(1[8-9] | [2-5]\d | 6[0-5])$/;
    

    2.验证身份证号码

    var reg = /^\d{17}(\d | X)$/;
    var reg = /^(\d{2}) (\d{4}) (\d{4}) (\d{2}) (\d{2}) (\d{2}) (\d) | (\d|X)$/;
    

    3.验证邮箱的正则(简版)
    邮箱左边:数字、字母、下划线、.、-

    var reg = /^[\w.-]+@[0-9a-zA-Z]+(\.[a-zA-Z]{2,4}){1,2}$/
    

    4.中国标准真实姓名 2-4位汉字

    var reg = /^[\u4e00-\u9fa5]{2, 4}$/
    

    相关文章

      网友评论

          本文标题:正则-字面量方式与实例创建方式的区别

          本文链接:https://www.haomeiwen.com/subject/iuipfctx.html