Javascript 无法匹配示例表情符号。这可能是什么原因?

Javascript 无法匹配示例表情符号。这可能是什么原因?,javascript,string,unicode,emoji,Javascript,String,Unicode,Emoji,是一个Unicode块,包含气象和天文符号、表情符号(主要用于与日本电话运营商的Shift JIS实现兼容),以及最初来自Microsoft Windows中Wingdings和Webdings字体的字符 参考的维基百科文章指定的Unicode范围是U+1F300..U+1F5FF 但是如果我从列表中选择一个表情符号并进行正则表达式匹配,它就会失败 var a=“问题 Javascript已经有一段时间了。位于U+0000…U+FFFF范围之外的Unicode代码点称为astral代码点,存在问

是一个Unicode块,包含气象和天文符号、表情符号(主要用于与日本电话运营商的Shift JIS实现兼容),以及最初来自Microsoft Windows中Wingdings和Webdings字体的字符

参考的维基百科文章指定的Unicode范围是
U+1F300..U+1F5FF

但是如果我从列表中选择一个表情符号并进行正则表达式匹配,它就会失败

var a=“问题
Javascript已经有一段时间了。位于U+0000…U+FFFF范围之外的Unicode代码点称为astral代码点,存在问题,因为它们不容易通过正则表达式匹配:


/`JavaScript字符串不支持真正的Unicode,只支持UCS-2。在JavaScript中不能这样使用5个字符的Unicode代码点。这实际上与字符类
\u1f30
或从
0
\u1f5f
或字符
f
匹配。在ECMAScript 6中,您应该能够使用
[\u{1f300}-\u{1f5ff}]
。我应该注意,当您对Unicode转义序列使用大括号形式时,需要将
u
标志传递给正则表达式,例如:
/[\u{1f300}-\u{1f5ff}]/u