Files
peko-ios/YuMi/Modules/YMMine/View/IncomeRecord/XPTextField.m
2024-04-18 18:37:21 +08:00

61 lines
1.1 KiB
Objective-C

//
// XPTextField.m
// YuMi
//
// Created by YuMi on 2023/7/3.
//
#import "XPTextField.h"
@interface XPTextField()<UITextFieldDelegate>
@end
@implementation XPTextField
-(instancetype)initWithFrame:(CGRect)frame{
self = [super initWithFrame:frame];
if(self){
self.delegate = self;
}
return self;
}
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
if(self.isValidation == NO){
return YES;
}
return [self validateNumber:string];
}
- (BOOL)validateNumber:(NSString*)number {
BOOL res = YES;
NSCharacterSet* tmpSet = [NSCharacterSet characterSetWithCharactersInString:self.regular];
int i = 0;
while (i < number.length) {
NSString * string = [number substringWithRange:NSMakeRange(i, 1)];
NSRange range = [string rangeOfCharacterFromSet:tmpSet];
if (range.length == 0) {
res = NO;
break;
}
i++;
}
return res;
}
- (NSString *)regular{
if (!_regular){
_regular = @"0123456789";
}
return _regular;
}
- (BOOL)isValidation{
if (!_isValidation){
_isValidation = NO;
}
return _isValidation;
}
@end