61 lines
1.1 KiB
Objective-C
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
|