我需要有关如何检测输入是否包含日语表情符号/表情符号的帮助.目前我正在构建一个charset = utf-8的系统.在输入文本上,用户可以输入日文字符/ alpanumerics /符号,但如果他们插入表情符号,onsubmit javascript将检查是否有表情符号,将显示错误信息.真的不知道如何检测表情符号.
现在我正在使用这段代码:
public static bool ContainsEmoji(this string text)
{
Regex rgx = new Regex(@"\p{Cs}");
return rgx.IsMatch(text);
}
Run Code Online (Sandbox Code Playgroud)
它有点帮助.
他们中的大多数似乎被发现,但有些则没有.
以下是帮助的参考列表:http://unicode.org/emoji/charts/full-emoji-list.html
所有的笑脸似乎都很好,但这些特定的表情符号并没有被正则表达式所抓住:
1920 U +2614☔雨伞下雨
1921年U +26F1⛱伞在地上
1922年U +26A1⚡高压
1923年U + 2744❄雪花
在键盘上这些并不是彼此靠近,但在列表中它们是相互跟随的,所以我只是假设有一个点它将开始不在表情符号列表中工作,并且它不是真正的验证.从1905年(天气般的表情符号),下降,一些被捕获在正则表达式,一些不是.似乎没有任何规则.
我不能只是去全ASCII,因为我需要人们输入像西里尔字母这样的字符,但我不能特别接受表情符号.我不知道如何从这里前进.
我阅读了关于代理高/低对的MSDN文档,但在这个阶段这对我来说非常混乱,我认为一些正确的方向推进将会有很长的路要走.
非常感谢您的宝贵时间 :)