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

2019-06-14  本文已影响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}$/
上一篇 下一篇

猜你喜欢

热点阅读