zoukankan      html  css  js  c++  java
  • iOS UITextField如何禁止输入表情及特殊字符

    ---恢复内容开始---

    //禁止输入表情

    - (NSString *)disable_emoji:(NSString *)text

    {

        NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"[^\u0020-\u007E\u00A0-\u00BE\u2E80-\uA4CF\uF900-\uFAFF\uFE30-\uFE4F\uFF00-\uFFEF\u0080-\u009F\u2000-\u201f ]" options:NSRegularExpressionCaseInsensitive error:nil];

        NSString *modifiedString = [regex stringByReplacingMatchesInString:text

                                                                   options:0

                                                                     range:NSMakeRange(0, [text length])

                                                              withTemplate:@"&&&&****"];

        return modifiedString;

    }

    //使用方式

    - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {

        if ([[self disable_emoji:string] isEqualToString:@"&&&&****"] || [[self disable_emoji:string] isEqualToString:@"&&&&****&&&&****"]) {

            [textField becomeFirstResponder];

            [FZPPregressHUD showNormalWithStatus:@"禁止输入特殊字符"];

            return NO;

        }

    }

    //禁止输入特殊字符

    //首先需要先将特殊字符存放在数组内

           self.specialStringArray = [@[] mutableCopy];

           //字符串

            self.specialStringStr = @"~,¥,#,&,*,<,>,《,》,(,),[,],{,},【,】,^,@,/,£,¤,,|,§,¨,「,」,『,』,¢,¬, ̄,(,),——,+,|,$,_,€,¥,?,/,|,,,。,!,!";

            self.specialStringArray = [self.specialStringStr componentsSeparatedByString:@","];

    //然后还是在代理方法中实现

    - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {

               循环遍历字符串

          for (NSInteger i = 0; i < self.specialStringArray.count; i++) {

            //判断字符串中是否含有特殊符号

            if ([intriduction rangeOfString:self.specialStringArray[i]].location != NSNotFound) {

                [textField becomeFirstResponder];

                [FZPPregressHUD showNormalWithStatus:@"禁止输入特殊字符"];

                textField.text = [textField.text substringToIndex:textField.text.length - 1];

                return NO;

            }

    //逗号需要特殊处理一下

            if ([intriduction rangeOfString:@","].location != NSNotFound) {

                [textField becomeFirstResponder];

                [FZPPregressHUD showNormalWithStatus:@"禁止输入特殊字符"];

                textField.text = [textField.text substringToIndex:textField.text.length - 1];

                return NO;

            }

       }

    }

  • 相关阅读:
    第六章脑图
    20192419实验四 《Python程序设计》实验报告
    20192419 实验三《Python程序设计》实验报告
    20192419 实验二《Python程序设计》实验报告
    20192419 实验一《Python程序设计》实验报告
    小组讨论-第十章 密码学及应用
    2019-2020-1学期 20192419 《网络空间安全专业导论》第十二周学习总结 (读书笔记)
    2019-2020-1学期 20192419 《网络空间安全专业导论》第十二周学习总结 (读书心得)
    2019-2020-1学期 20192419 《网络空间安全专业导论》第十一周学习总结 (读书心得)
    2019-2020-1学期 20192419 《网络空间安全专业导论》第十一周学习总结 (读书笔记)
  • 原文地址:https://www.cnblogs.com/FZP5/p/11435310.html
Copyright © 2011-2022 走看看