#pragma mark 手機號
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
if (textField == self.phoneField) {
if (string.length == 0) {return YES;}
if (![self validateNumber:string]) {return NO;}
NSInteger existedLength = textField.text.length;
NSInteger selectedLength = range.length;
NSInteger replaceLength = string.length;
if (existedLength - selectedLength + replaceLength > 11) {
return NO;
}
}
return YES;//YES,表示修改生效;NO,表示不做修改,textField的內容不變
}
- (void)textFieldDidChange:(UITextField *)textField
{
if (textField == self.phoneField) {
if (textField.text.length > 11) {
textField.text = [textField.text substringToIndex:11];
}
}
}
- (BOOL)validateNumber:(NSString*)number {
BOOL res = YES;
NSCharacterSet* tmpSet = [NSCharacterSet characterSetWithCharactersInString:@"0123456789"];
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;
}