Monday, 16 February 2015

User to enter only one decimal dot in to the text field for price

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
    
    NSError *error;
    NSRegularExpression * regExp = [[NSRegularExpression alloc]initWithPattern:@"^\\d{0,6}(([.]\\d{1,2})|([.]))?$" options:NSRegularExpressionCaseInsensitive error:&error];
    
    NSString * existingText = textField.text;
    NSString * completeText = [existingText stringByAppendingFormat:@"%@",string];
    
    if ([regExp numberOfMatchesInString:completeText options:0 range:NSMakeRange(0, [completeText length])])
    {
        if ([completeText isEqualToString:@"."])
            [textField insertText:@"0"];
        return YES;
    }
    else
        return NO;
    

   }

No comments:

Post a Comment