美文网首页
iOS textField 限制输入两位小数 - 正则表达式

iOS textField 限制输入两位小数 - 正则表达式

作者: GrayMantis | 来源:发表于2018-05-16 15:30 被阅读0次

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
   
    if (range.length >= 1) { // 删除数据, 都允许删除
        return YES;
    }
        if (![self checkDecimal:[textField.text stringByAppendingString:string]]){
          
            if (textField.text.length > 0 && [string isEqualToString:@"."] && ![textField.text containsString:@"."]) {
                return YES;
            }
            
            return NO;
            
        }         
    return YES;
}


#pragma mark - 正则表达式

/**
 判断是否是两位小数

 @param str 字符串
 @return yes/no
 */
- (BOOL)checkDecimal:(NSString *)str
{
    NSString *regex = @"^[0-9]+(\\.[0-9]{1,2})?$";
    NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];
    
    if([pred evaluateWithObject: str])
    {
        return YES;
    }else{
        return NO;
    }
}


相关文章

网友评论

      本文标题:iOS textField 限制输入两位小数 - 正则表达式

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