天天看點

UITextField 隻能輸入字母、數字的方法小結

在IOS實際開發中有些UITextField需要限制輸入内容,如賬号、密碼等,下面簡單介紹其簡單的實作方法,如下:

代碼實作

//定義宏(限制輸入内容)

#define kAlphaNum  @"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"

#define kAlpha      @"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz "

#define kNumbers     @"0123456789"

#define kNumbersPeriod  @"0123456789."

//定義UITextFiled的代理方法:

- (BOOL)textField:(UITextField *)textField

    shouldChangeCharactersInRange:(NSRange)range

    replacementString:(NSString *)string {

    NSCharacterSet *cs;

    cs = [[NSCharacterSet characterSetWithCharactersInString:kAlphaNum] invertedSet];

    NSString *filtered =

    [[string componentsSeparatedByCharactersInSet:cs] componentsJoinedByString:@""];

    BOOL basic = [string isEqualToString:filtered];

    return basic;

}