UITextField 只允许输入数字和字母 解决联想中文等问题
博客专区 > biyu6 的博客 > 博客详情
UITextField 只允许输入数字和字母 解决联想中文等问题
biyu6 发表于1年前
UITextField 只允许输入数字和字母 解决联想中文等问题
  • 发表于 1年前
  • 阅读 236
  • 收藏 0
  • 点赞 1
  • 评论 1

腾讯云 新注册用户 域名抢购1元起>>>   

- (void)reTextFieldDidChange:(UITextField *)textField{//输入文本时调用

    //将输入的小写x转换成大写

    textField.text = [textField.text stringByReplacingOccurrencesOfString:@"x" withString:@"X"];

    //解决联想输入的问题

    NSCharacterSet *cs = [[NSCharacterSet characterSetWithCharactersInString:@"Xx0123456789"] invertedSet];//里面放允许输入的字符

   textField.text = [[textField.text componentsSeparatedByCharactersInSet:cs] componentsJoinedByString:@""];

    if (textField.text.length > 18) {

        textField.text = [textField.text substringToIndex:18];

    }

}

 

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

    //设置只能输入字母数字  和 文本框最大长度

    NSCharacterSet *cs = [[NSCharacterSet characterSetWithCharactersInString:@"Xx0123456789"] invertedSet];

    NSString *filtered = [[string componentsSeparatedByCharactersInSet:cs] componentsJoinedByString:@""];

    return [string isEqualToString:filtered] && (textField.text.length - range.length + string.length) <= 18;

}

共有 人打赏支持
粉丝 5
博文 30
码字总数 2657
评论 (1)
×
biyu6
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: