美文网首页
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