regExp.toString

regExp.toString

toString()返回一个表示该正则表达式的字符串。

语法

regexObj.toString(

返回值

代表给定对象的字符串。

描述

RegExp对象覆盖了 Object对象的toString()方法,并没有继承Object.prototype.toString()。对于 RegExp对象,toString方法返回一个该正则表达式的字符串形式。

示例

使用toString()

下例输出 RegExp对象的字符串值:

var myExp = new RegExp('a+b+c' console.log(myExp.toString() // logs '/a+b+c/' var foo = new RegExp('bar', 'g' console.log(foo.toString() // logs '/bar/g'

清空正则表达式并转义

从ECMAScript 5开始,一个空的正则表达式返回字符串“/(?:)/”和行结束符如“\ n”被转义:

new RegExp().toString( // "/(?:)/" new RegExp('\n').toString() === '/\n/'; // true, prior to ES5 new RegExp('\n').toString() === '/\\n/'; // true, starting with ES5

规范

SpecificationStatusComment
ECMAScript 3rd Edition (ECMA-262)StandardInitial definition. Implemented in JavaScript 1.1.
ECMAScript 5.1 (ECMA-262)The definition of 'RegExp.prototype.toString' in that specification.StandardAdded definition for escaping behavior and "(?:)" for empty regular expressions.
ECMAScript 2015 (6th Edition, ECMA-262)The definition of 'RegExp.prototype.toString' in that specification.Standard
ECMAScript Latest Draft (ECMA-262)The definition of 'RegExp.prototype.toString' in that specification.Draft

浏览器兼容性

FeatureChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari
Basic support(Yes)(Yes)(Yes)(Yes)(Yes)(Yes)
Escaping(Yes)?38 (38)(Yes)(Yes)(Yes)
Generic function??39 (39)???

FeatureAndroidChrome for AndroidEdgeFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Basic support(Yes)(Yes)(Yes)(Yes)(Yes)(Yes)(Yes)
Escaping(Yes)(Yes)?38.0 (38)(Yes)(Yes)(Yes)
Generic function???39.0 (39)???