js判断字符串是不是含有特殊字符和emoji表情

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js判断字符串是不是含有特殊字符和emoji表情相关的知识,希望对你有一定的参考价值。

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; 参考技术A 连云山漂流航

判断字符串中是不是含有emoji表情,并将emoji表情替换成其他字符串

参考技术A -(BOOL)stringContainsEmoji:(NSString *)string __block BOOL returnValue = NO; [string enumerateSubstringsInRange:NSMakeRange(0, [string length]) options:NSStringEnumerationByComposedCharacterSequences usingBlock: ^(NSString *substring, NSRange substringRange, NSRange enclosingRange, BOOL *stop) const unichar hs = [substring characterAtIndex:0]; // surrogate pair if (0xd800 <= hs && hs <= 0xdbff) if (substring.length > 1) const unichar ls = [substring characterAtIndex:1]; const int uc = ((hs - 0xd800) * 0x400) + (ls - 0xdc00) + 0x10000; if (0x1d000 <= uc && uc <= 0x1f77f) returnValue = YES; else if (substring.length > 1) const unichar ls = [substring characterAtIndex:1]; if (ls == 0x20e3) returnValue = YES; else // non surrogate if (0x2100 <= hs && hs <= 0x27ff) returnValue = YES; else if (0x2B05 <= hs && hs <= 0x2b07) returnValue = YES; else if (0x2934 <= hs && hs <= 0x2935) returnValue = YES; else if (0x3297 <= hs && hs <= 0x3299) returnValue = YES; else if (hs == 0xa9 || hs == 0xae || hs == 0x303d || hs == 0x3030 || hs == 0x2b55 || hs == 0x2b1c || hs == 0x2b1b || hs == 0x2b50) returnValue = YES; ]; return returnValue;

以上是关于js判断字符串是不是含有特殊字符和emoji表情的主要内容,如果未能解决你的问题,请参考以下文章

判断EditText输入的字符串中是否包含有emohi表情

iOS 输入框如何限制字符长度和emoji

js emoji表情长度判断

emoji纸飞机表情符号怎么输入

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

让emoji表情变消失