扫码关注官方订阅号
var regu =/^[1][3][0-9]{9}$/; var re = new RegExp(regu); if (re.test(s)) { ..... }
为什么要new一次?
小伙看你根骨奇佳,潜力无限,来学PHP伐。
如果不 new 的话应该也是没问题的吧,想要应用在什么场景下呢?
new
二者关系类似var obj = {} 和 var obj = new Object();看使用场景的,普通的用/^……$/就行了,但有些比如带变量的就只能使用new了,你这里没有正文内容展示,两者都可以。
两种不同的写法,一个叫字面量,一个叫申明,就像你写一个函数也是可以写成{},或者new Function()一样
{}
new Function()
一个是正则表达式字面量创建正则表达式,就是不带new的那个。另一个是调用RegExp对象的构造函数,就是那个new那个。
/ab+c/i; // 字面量 new RegExp('ab+c', 'i'); // 构造 new RegExp(/ab+c/, 'i'); // ES6新增允许的写法
https://developer.mozilla.org...
两者其实是一样的效果,不需要new
不过:在ES3中,直接创建字面量和new 方式不一样。字面量始终共享一个实例,而new 的方式会每次创建一个新的实例,ES5修复了。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
如果不
new的话应该也是没问题的吧,想要应用在什么场景下呢?二者关系类似var obj = {} 和 var obj = new Object();
看使用场景的,普通的用/^……$/就行了,但有些比如带变量的就只能使用new了,你这里没有正文内容展示,两者都可以。
两种不同的写法,一个叫字面量,一个叫申明,就像你写一个函数也是可以写成
{},或者new Function()一样一个是正则表达式字面量创建正则表达式,就是不带new的那个。
另一个是调用RegExp对象的构造函数,就是那个new那个。
https://developer.mozilla.org...
两者其实是一样的效果,不需要new
不过:在ES3中,直接创建字面量和new 方式不一样。字面量始终共享一个实例,而new 的方式会每次创建一个新的实例,ES5修复了。