如何将表情符号匹配添加到此 JavaScript 正则表达式中?
How can I add emoji matching into this JavaScript regex?
我有一个工作正则表达式来匹配 JavaScript:
中的字母、数字、标点符号
var letters = /^[0-9A-Za-z\s\-_@#$*!&'’‘”“"?,.:/=+<>~%^ ]+$/;
我想为此添加表情符号。我如何修改正则表达式以匹配表情符号?
我通过将表情符号集的 Unicode 表示添加到正则表达式(使用独立的 Unicode 范围集)来解决这个问题,如下所示:
var letters = /^([0-9A-Za-z\s_@#$*!&'’‘”“"?,.:\/=+<>~%^ \u{1f300}-\u{1f5ff}\u{1f900}-\u{1f9ff}\u{1f600}-\u{1f64f}\u{1f680}-\u{1f6ff}\u{2600}-\u{26ff}\u{2700}-\u{27bf}\u{1f1e6}-\u{1f1ff}\u{1f191}-\u{1f251}\u{1f004}\u{1f0cf}\u{1f170}-\u{1f171}\u{1f17e}-\u{1f17f}\u{1f18e}\u{3030}\u{2b50}\u{2b55}\u{2934}-\u{2935}\u{2b05}-\u{2b07}\u{2b1b}-\u{2b1c}\u{3297}\u{3299}\u{303d}\u{00a9}\u{00ae}\u{2122}\u{23f3}\u{24c2}\u{23e9}-\u{23ef}\u{25b6}\u{23f8}-\u{23fa}-]+)$/gu;
我有一个工作正则表达式来匹配 JavaScript:
中的字母、数字、标点符号var letters = /^[0-9A-Za-z\s\-_@#$*!&'’‘”“"?,.:/=+<>~%^ ]+$/;
我想为此添加表情符号。我如何修改正则表达式以匹配表情符号?
我通过将表情符号集的 Unicode 表示添加到正则表达式(使用独立的 Unicode 范围集)来解决这个问题,如下所示:
var letters = /^([0-9A-Za-z\s_@#$*!&'’‘”“"?,.:\/=+<>~%^ \u{1f300}-\u{1f5ff}\u{1f900}-\u{1f9ff}\u{1f600}-\u{1f64f}\u{1f680}-\u{1f6ff}\u{2600}-\u{26ff}\u{2700}-\u{27bf}\u{1f1e6}-\u{1f1ff}\u{1f191}-\u{1f251}\u{1f004}\u{1f0cf}\u{1f170}-\u{1f171}\u{1f17e}-\u{1f17f}\u{1f18e}\u{3030}\u{2b50}\u{2b55}\u{2934}-\u{2935}\u{2b05}-\u{2b07}\u{2b1b}-\u{2b1c}\u{3297}\u{3299}\u{303d}\u{00a9}\u{00ae}\u{2122}\u{23f3}\u{24c2}\u{23e9}-\u{23ef}\u{25b6}\u{23f8}-\u{23fa}-]+)$/gu;