0

英語とアラビア語の両方をサポートするアプリケーションに取り組んでいます。アプリケーションは数値入力を使用します。アラビア語は数字が違う!では、このような状況で数値入力 (金額、パーセンテージ、数値) を検証する最良の方法は何ですか?

4

2 に答える 2

0

次のメソッドを使用する代わりに、入力の有効性を確認するために NSNumberFormatter を使用することになりました。

+ (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;
}
于 2010-10-04T12:48:02.027 に答える
0

システム設定パネルで言語が変更された場合、検証のデフォルトの実装が機能するはずです。この記事が役立つかもしれません。

于 2010-09-22T11:43:18.060 に答える