美文网首页
iOS 限制键盘输入字符

iOS 限制键盘输入字符

作者: Cathy范 | 来源:发表于2023-01-31 18:10 被阅读0次

    因为项目需求是有个手机号输入框限制只能输入0-9+’+-#*‘14个字符,

    所以我的方案是

    1:将这14个字符弄成一个数组,如果当前输入的字符包括在里面就返回YES,否则为NO。

    2:在textField- shouldChangeCharactersInRange 里面判断是否是允许的字符,如果是就return YES 否则为NO,为NO的时候点击的键就不会显示在输入框内,从而达到需要的效果

    1:在NSString 类里面加了一下这个方法。

    + (BOOL)hasFeedbackNumberStr:(NSString*)string {

        NSString *mainstring = @"-/+/#/*/0/1/2/3/4/5/6/7/8/9/#+=/";

        NSArray*strarray = [mainstringcomponentsSeparatedByString:@"/"];

     BOOLisMatch = [strarraycontainsObject:string];

     returnisMatch;

    }

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

    if ([NSString hasFeedbackNumberStr:string]){

    if(range.length==1&& string.length==0) {return YES;                }

     if ([whole dataUsingEncoding:NSUTF8StringEncoding].length > 20) {                    [textFieldresignFirstResponder];

    return NO;

                    }

     returnYES;

    }else{

     returnNO;

                }

    相关文章

      网友评论

          本文标题:iOS 限制键盘输入字符

          本文链接:https://www.haomeiwen.com/subject/vbrbhdtx.html