iOS textField 限制输入

iOS textField 限制输入

期望效果是 用户输入的数字只能是小数点后面两位 例: 50.65

跟微信QQ红包似的,小数点后最多有两位
并且输入的合法性,有且仅有一个小数点

屏幕快照 2016-03-26 上午11.35.20.png
设置 textfield 的代理.
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string;   {

// 判断这个 textfield 是不是你想要做限制的那个 textField
   if (textField == self.moneyCount)
    {
    NSString *updatedText = [textField.text stringByReplacingCharactersInRange:range withString:string];
    NSArray *stringsArray = [updatedText componentsSeparatedByString:@"."];
    
    if (stringsArray.count > 0)
    {
        
        NSString *dollarAmount = stringsArray[0];
        // 小数点前面最多多少位
        if (dollarAmount.length > 11)
            return NO;
    }
    
    if (stringsArray.count > 1)
    {
        NSString *centAmount = stringsArray[1];
        // 小数点后限制的位数
        if (centAmount.length > 2)
            return NO;
    }
    
    if (stringsArray.count > 2)
        return NO;
    // 限制的总个数,  一共7位: 小数点也在计算中  6666.12   
    if (textField.text.length < 14) {
        NSCharacterSet *cs = [[NSCharacterSet characterSetWithCharactersInString:@"0123456789."] invertedSet];
        NSString *filtered = [[string componentsSeparatedByCharactersInSet:cs] componentsJoinedByString:@""];
        return [string isEqualToString:filtered];
    }
    else
    {
        if (range.length > 0)
        {
            return true;
        }
        else{
            return false;
        }
    }
        }
  return true;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,011评论 25 709
  • //初始化textfield并设置位置及大小 UITextField *text = [[UITextField ...
    bentao01阅读 2,662评论 0 1
  • Oracle ADF(Application Development Framework)是一个端到端 J2EE ...
    Xiangdong_She阅读 638评论 0 0
  • 对于前任我很讨厌,很厌恶,很希望他过的很差,就是希望他后悔、悔恨自己没有好好珍惜我,希望他一辈子都找不到我这么好的...
    鸿玫阅读 459评论 0 0
  • 生气这种事嘛,偶尔气一气就好了,不要得寸进尺不要蹬鼻子上脸是不是…… 其实本来也气不起来,但是还是要做做样子的嘛。...
    seiun阅读 124评论 0 1