iOS開發之限制只輸入數字和字母
阿新 • • 發佈:2019-02-03
首先,根據需求,定義一個巨集:
#define NUM @"0123456789"//只輸入數字
#define ALPHA @"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"//只輸入字母
#define ALPHANUM @"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"//數字和字母
給需要限制的UITextField設定代理:
_passWordTF.delegate = self;
實現UITextFieldDelegate代理方法:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange )range replacementString:(NSString *)string
{
NSCharacterSet *cs = [[NSCharacterSet characterSetWithCharactersInString:ALPHANUM] invertedSet];
NSString *filtered = [[string componentsSeparatedByCharactersInSet:cs] componentsJoinedByString:@""];
return [string isEqualToString:filtered];
}