代码之家  ›  专栏  ›  技术社区  ›  Mustafa

验证多语言应用程序中的输入

  •  0
  • Mustafa  · 技术社区  · 16 年前

    我正在开发一个同时支持英语和阿拉伯语的应用程序。应用程序使用数字输入。在阿拉伯语中,数字字符是不同的!那么,在这种情况下,验证数字输入(金额、百分比、数字)的最佳方法是什么?

    2 回复  |  直到 16 年前
        1
  •  0
  •   Kamran Khan    16 年前
        2
  •  0
  •   Mustafa    16 年前

    + (BOOL)validateNumeric:(NSString *)numericString {
        NSString *regexExpression = @"^[-+]?\\d{0,9}$"; 
        NSPredicate *matchTextPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regexExpression]; 
        return [matchTextPredicate evaluateWithObject:numericString];
    }
    

    - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
    
        switch (fieldValidationType) {
            case kValidationTypeAmount: {
                    NSCharacterSet *unacceptedInput = nil;
                    unacceptedInput = [[NSCharacterSet characterSetWithCharactersInString:CHARACTERS_AMOUNT] invertedSet];      
                    if ([[self componentsSeparatedByCharactersInSet:unacceptedInput] count] > 1)
                        return NO;
                    else 
                        return YES; 
    
            }
    
            default:
                return YES;
        }
    
        return YES;
    }
    
    推荐文章