我正在开发一个支持英语和阿拉伯语的应用程序。该应用程序使用数字输入。在阿拉伯语言中,数字字符是不同的!那么,在这种情况下验证数字输入(数量,百分比,数量)的最佳方法是什么?
答案 0 :(得分:0)
如果通过系统首选项面板更改了语言,则验证的默认实现应该有效。这article可能会有所帮助。
答案 1 :(得分:0)
我最终使用NSNumberFormatter来检查输入的有效性,而不是使用以下方法:
+ (BOOL)validateNumeric:(NSString *)numericString {
NSString *regexExpression = @"^[-+]?\\d{0,9}$";
NSPredicate *matchTextPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regexExpression];
return [matchTextPredicate evaluateWithObject:numericString];
}
OR
- (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;
}