Method -Common (Class)
func checkStrHaveEmoji(_ string : String) -> Bool {
for char in string.characters{
let codePoint = String(char).unicodeScalars.first?.value
if (codePoint >= 0x2600 && codePoint <= 0x27BF) // 杂项符号与符号字体
|| codePoint == 0x303D
|| codePoint == 0x2049
|| codePoint == 0x203C
|| (codePoint >= 0x2000 && codePoint <= 0x200F)//
|| (codePoint >= 0x2028 && codePoint <= 0x202F)//
|| codePoint == 0x205F //
|| (codePoint >= 0x2065 && codePoint <= 0x206F)//
/* 标点符号占用区域 */
|| (codePoint >= 0x2100 && codePoint <= 0x214F)// 字母符号
|| (codePoint >= 0x2300 && codePoint <= 0x23FF)// 各种技术符号
|| (codePoint >= 0x2B00 && codePoint <= 0x2BFF)// 箭头A
|| (codePoint >= 0x2900 && codePoint <= 0x297F)// 箭头B
|| (codePoint >= 0x3200 && codePoint <= 0x32FF)// 中文符号
|| (codePoint >= 0xD800 && codePoint <= 0xDFFF)// 高低位替代符保留区域
|| (codePoint >= 0xE000 && codePoint <= 0xF8FF)// 私有保留区域
|| (codePoint >= 0xFE00 && codePoint <= 0xFE0F)// 变异选择器
|| codePoint >= 0x10000{
return true
}
}
return false
}
TestCase -CommonTest(Class)
var string = "🐶sdfavas"
XCTAssertTrue(Common().checkStrHaveEmoji(string))
string = "🐶嗯。那的"
XCTAssertTrue(Common().checkStrHaveEmoji(string))
string = "😄🐶😄😂☠️"
XCTAssertTrue(Common().checkStrHaveEmoji(string))
string = "sadfa[微笑][惊讶][惊恐]那的"
XCTAssertFalse(Common().checkStrHaveEmoji(string))
string = "sadfa🐶🐶🐳🐱那的"
XCTAssertTrue(Common().checkStrHaveEmoji(string))
string = "sadf🐶🐳🐱a那的"
XCTAssertTrue(Common().checkStrHaveEmoji(string))
string = "sadfa那的"
XCTAssertFalse(Common().checkStrHaveEmoji(string))
网友评论