Swift输入框过滤表情

func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {var isText = trueif text.containsEmoji {if String.isInputRuleNotBlank(str: text) {isText = true} else {isText = false}}return isText}extension String {// 是否包含表情var containsEmoji: Bool {for scalar in unicodeScalars {switch scalar.value {case0x00A0...0x00AF,0x2030...0x204F,0x2120...0x213F,0x2190...0x21AF,0x2310...0x329F,0x1F000...0x1F9CF:return truedefault:continue}}return false}/*** 字母、数字、中文正则判断(不包括空格)*注意: 因为考虑到输入习惯,许多人习惯使用九宫格,这里在正常选择全键盘输入错误的时候,进行九宫格判断,九宫格对应的是下面➋➌➍➎➏➐➑➒的字符*/static func isInputRuleNotBlank(str:String) -> Bool {let pattern = "^[a-zA-Z\\u4E00-\\u9FA5\\d]*$"let pred = NSPredicate(format: "SELF MATCHES %@", pattern)let isMatch = pred.evaluate(with: str)if !isMatch {let other = "➋➌➍➎➏➐➑➒"let len = str.characters.countfor i in 0..<len {let tmpStr = str as NSStringlet tmpOther = other as NSStringlet c = tmpStr.character(at: i)if !((isalpha(Int32(c))) > 0 || (isalnum(Int32(c))) > 0 || ((Int(c) == "_".hashValue)) || (Int(c) == "-".hashValue) || ((c >= 0x4e00 && c <= 0x9fa6)) || (tmpOther.range(of: str).location != NSNotFound)) {return false}return true}}return isMatch}// MARK: 过滤字符串中的特殊字符public func stringReplacingOccurrencesOfString() {let str: NSString = self as NSStringlet charactersInString = "[]{}(#%-*+=_)\\|~(<>$%^&*)_+ "let doNotWant = CharacterSet.init(charactersIn: charactersInString)let componentsArrays = str.components(separatedBy: doNotWant)let hmutStr = componentsArrays.joined(separator: "")print("humStr is:\(hmutStr)")}}

Swift输入框过滤表情相关推荐

  1. ios 表情符号 键盘_iOS输入框过滤表情,处理自带键盘无法输入

    本片分两部分 1.使用正则表达式过滤表情 2.处理苹果自带键盘无法输入汉字问题 先记录下,后面完善: override func viewDidAppear(_ animated: Bool) { s ...

  2. 输入框过滤表情和颜文字

    参考:https://blog.csdn.net/qq_35644925/article/details/113591221 InputFilter emojiFilter = new InputFi ...

  3. 移动端输入框过滤表情

    changeEmoji() {var patt=/[\uD800-\uDBFF][\uDC00-\uDFFF]/gthis.userMsg.nickname = this.userMsg.nickna ...

  4. 【Python】过滤表情字符

    import re def filter_emoji(desstr, restr=''):# 过滤表情res = re.compile(u'[\U00010000-\U0010ffff\\uD800- ...

  5. java 微信昵称过滤表情

    package com.ict.compent.wx;import java.util.regex.Matcher; import java.util.regex.Pattern;/*** 微信过滤表 ...

  6. java后台过滤特殊表情_java过滤表情图标

    package com.yt.util; import java.util.regex.Matcher; import java.util.regex.Pattern; import org.apac ...

  7. java后台过滤特殊表情_java--正则过滤表情

    移动端传过来的表情直接过滤掉 /** * 过滤表情 * @param source * @return */ public static String filterEmoji(String sourc ...

  8. 输入框插入表情的实现

    输入框插入表情的实现 HTML5 在普通的 textarea 中,只能显示普通的文本.如果简单的输入文本,textarea 便足以胜任.但是实际情况往往要复杂得多. 简单版本的插入表情 常见的版本一般 ...

  9. hive的udf,过滤表情等非法字符

    实际工作环境中hive导出数据到Mysql,总是报错 ncorrect string value: '\xF0\x9F\x98\x97\xF0\x9F-' 这是由于手机表情不支持UTF-8的 运营那边 ...

最新文章

  1. 部署软件RDMA的步骤
  2. Jetty 9.0.0 首个里程碑出现
  3. 【控制】《多智能体系统一致性协同演化控制理论与技术》纪良浩老师-第11章-连续时间多智能体系统牵制一致性
  4. x86架构linux内核引导过程分析,SylixOS---x86引导过程分析
  5. 一道关于笔试的多线程题目
  6. 阿里云容器Kubernetes监控(七) - Prometheus监控方案部署
  7. android Mvp简单实用
  8. (36)Verilog HDL关系运算:大于、小于、等于
  9. javascript Class-based vs. prototype-based
  10. 洛谷——P1615 西游记公司
  11. flash字体库打印
  12. 浏览器内核的解析和对比
  13. word自动编号与文字间距太大怎么办
  14. 前端页面开发浅谈:PC 端设计如何“完美”迁移到移动端?
  15. 贵金属软件MT4好不好用?MT4软件有什么优势特点?
  16. 铁路基因的传承与创新
  17. 特征工程(三) 数据标准化和归一化
  18. 使用w3c生成xml文件
  19. SAP HANA数据库HA双机架构概念及运维
  20. 使用差分法计算矩形波导前20截止频率(matlab实现)

热门文章

  1. Unable to resolve dependency for ':app@debug/compileClasspath': Could not resolve com xxx
  2. 51单片机测量方波信号周期
  3. 爬虫初级——山脚0关
  4. 使用Muduo完成数独和八数码问题求解服务器
  5. 11-17 成长日记
  6. 基于51单片机十字路口红绿灯管理系统
  7. 游戏互动神器,捏脸二维码是什么鬼?
  8. 【今日焦点】国行iPhone 6开启预订第一天,货源充足
  9. 城市中的原始人(二):本能大脑
  10. CloudComparePCL 基于超体素的点云分割