【发布时间】:2020-12-12 15:58:59
【问题描述】:
问题
使用 Javascript,我需要检查字符串是否为表情符号。
应该返回 TRUE:
REGEX.test("????") | REGEX.test("????????")
REGEX.test("????") | REGEX.test("????????")
REGEX.test("????️♀️") | REGEX.test("????")
REGEX.test("????????") | REGEX.test("????")
REGEX.test("????") | REGEX.test("????")
- 字符串是 ONE 和 ONLY ONE emoji,不是 2 emoji,不是 emoji 和某个数字或特殊字符或某些字母,只有一个 EMOJI。
应该返回 FALSE:
REGEX.test("????????") | REGEX.test("213????")
REGEX.test("???? adas") | REGEX.test("$@#*????????///")
REGEX.test("\/????????..") | REGEX.test("XD")
REGEX.test(" ???????? ") | REGEX.test(":D")
REGEX.test("♥︎") | REGEX.test("✹")
- 字符串包含多个表情符号
- 字符串有字母
- 字符串有特殊字符
- 字符串中包含任何不是表情符号的内容。
- 符号无法匹配。
也许是解决问题的途径
我找到了this regex,它匹配所有可能的表情,但我不知道如何让它适合我的情况。
【问题讨论】:
-
您只需要使用正则表达式匹配 all 表情符号并使用
^和$锚点使其匹配整个字符串。 -
你好@WiktorStribiżew,你好吗?我认为将此问题标记为重复是错误的。要解决这个特定问题,您需要另外两个问题,而不仅仅是一个。已经有一个类似的问题没关系,即只检查一个特定的字符串,但是当您遇到此问题中提到的问题时,发现它并不直观。我认为这个问题对整个社区都很重要,主要是由于索引问题。请您考虑一下,如果可能的话,请删除重复的标记?
-
SO 在将问题作为重复问题关闭时启用了多个重复原因支持。您的问题缺乏与匹配表情符号或整个字符串相关的努力。我关闭的线程恰恰表明:如何匹配表情符号以及如何匹配整个字符串。它已正确关闭。
-
感谢您的考虑。虽然解决问题的方法是一样的,但问题是不一样的,而是相似的。这是有区别的。这是一个特定于案例的问题,当您遇到此特定问题时,可能更难找到一般问题。所以我会再次请你重新考虑一下。将其标记为重复对社区来说是一种损失,因为堆栈溢出的最大好处是可以找到所有特定问题的所有答案。
标签: javascript regex emoji