js 怎么计算一个字符串中包含多少个表情

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 怎么计算一个字符串中包含多少个表情相关的知识,希望对你有一定的参考价值。

value.match(/\ud83c[\udf00-\udfff]|\ud83d[\udc00-\ude4f]|\ud83d[\ude80-\udeff]/g);

我使用这种正则匹配,但是匹配不完全,有一些没有匹配上,有没有更多的匹配方式

参考技术A reg = /[~#^$@%&!?%*]/gi; if (reg.test(postdata.Name.trim())) alert("姓名不能含有特殊字符"); else if (isEmojiCharacter(postdata.Name.trim())) alert("姓名不能含有表情"); else //自己的代码 function isEmojiCharacter(substring) for (var i = 0; i < substring.length; i++) var hs = substring.charCodeAt(i); if (0xd800 <= hs && hs <= 0xdbff) if (substring.length > 1) var ls = substring.charCodeAt(i + 1); var uc = ((hs - 0xd800) * 0x400) + (ls - 0xdc00) + 0x10000; if (0x1d000 <= uc && uc <= 0x1f77f) return true; else if (substring.length > 1) var ls = substring.charCodeAt(i + 1); if (ls == 0x20e3) return true; else if (0x2100 <= hs && hs <= 0x27ff) return true; else if (0x2B05 <= hs && hs <= 0x2b07) return true; else if (0x2934 <= hs && hs <= 0x2935) return true; else if (0x3297 <= hs && hs <= 0x3299) return true; else if (hs == 0xa9 || hs == 0xae || hs == 0x303d || hs == 0x3030 || hs == 0x2b55 || hs == 0x2b1c || hs == 0x2b1b || hs == 0x2b50) return true; 追问

我的是可以输入任何字符包括表情,但是我在统计他的长度的时候,我自己统计的和textarea的可输入的不一致

js sort 数组中包含数组怎么排序

参考技术A

1.数组调用sort方法后,会影响本身(而非生成新数组)

2.sort()方法默认是按字符来排序的,所以在对数字型数组排序时,不可想当然的以为会按数字大小排序!

3.要改变默认的sort行为(即按字符排序),可以自行指定排序规则函数(如本例所示)

参考技术B 1.数组调用sort方法后,会影响本身(而非生成新数组)

2.sort()方法默认是按字符来排序的,所以在对数字型数组排序时,不可想当然的以为会按数字大小排序!

3.要改变默认的sort行为(即按字符排序),可以自行指定排序规则函数(如本例所示)

以上是关于js 怎么计算一个字符串中包含多少个表情的主要内容,如果未能解决你的问题,请参考以下文章

java判断一个字符串中包含多少个字母

c#怎么判断字符串中包含汉字?

怎么判断string字符串中包含某个字符

如何知道 UITextView 中包含多少个单词

如何正确处理Shell 函数传人参数中包含的特殊字符

JavaScript计算字符串中包含几个给定字符