我正在开发一个支持英语和阿拉伯语的应用程序。该应用程序接受数字输入以供使用。在阿拉伯语中,数字字符是不同的!那么,在这种情况下验证数字输入(数量、百分比、数字)的最佳方法是什么?
问问题
127 次
2 回答
0
如果通过系统首选项面板更改了语言,则您的默认验证实现应该可以工作。这篇文章可能会有所帮助。
于 2010-09-22T11:43:18.060 回答
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 回答