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