Unicode代码点在正则表达式文本中转义-Javascript

Unicode代码点在正则表达式文本中转义-Javascript,javascript,regex,unicode,ecmascript-6,unicode-literals,Javascript,Regex,Unicode,Ecmascript 6,Unicode Literals,此正则表达式文字语法是否可以使用Unicode转义序列语法 var regpat=/^[\u0041-\u005A\u0061-\u007A\.\'\-]{2,15}/ 是否使用Unicode代码点转义语法编写(如下所示) var regpat=/^[\u{41}-\u{5A}\u{61}-\u{7A}\u{1F4A9}.\'-]{2,15}/ 注意:Unicode代码点转义用于简化ES5兼容的代理项对语法(表示代码点值大于FFFF是),根据这一点,现在是一个有效的转义序列,但是为了启用支持,您

此正则表达式文字语法是否可以使用Unicode转义序列语法

var regpat=/^[\u0041-\u005A\u0061-\u007A\.\'\-]{2,15}/

是否使用Unicode代码点转义语法编写(如下所示)

var regpat=/^[\u{41}-\u{5A}\u{61}-\u{7A}\u{1F4A9}.\'-]{2,15}/

注意:Unicode代码点转义用于简化ES5兼容的代理项对语法(表示代码点值大于
FFFF

是),根据这一点,现在是一个有效的转义序列,但是为了启用支持,您必须在正则表达式定义中包含新的u标志:

var regpat = /^[\u{41}-\u{5A}\u{61}-\u{7A}\u{1F4A9}\.\' \-]{2,15}/u;
console.log(regpat.test("\u{41}\u{61}}"))

返回“
语法错误:firefox 45.0a2和chrome 47上的正则表达式标志u
无效。0@overexchange您可以检查浏览器实现的状态。Babel transpiles正则表达式因此可能是目前唯一可行的选项。请注意,在处理单独的代理时,Transpile正则表达式可能无法正常工作。请注意,
\u{XXX}
语法在IE11中似乎不受支持(但在Edge中很好)