最近業(yè)務(wù)要求輸入字母的同時(shí)必須強(qiáng)制大寫,而且不能錄入中文毕匀,點(diǎn)擊提交的時(shí)候判斷還不行铸鹰,必須要求輸入的同時(shí)判斷匹配
- (void)textFieldChangeValue:(UITextField *)textfield{
if ([[MBISingletonCacheData retrieveUserSegmentId] isEqualToString:@"91"]) {
if ([[UITextInputMode currentInputMode].primaryLanguage isEqualToString:@"zh-Hans"]) {//這個(gè)方法在iOS 7 被廢棄,但是可以使用
return;
}else{
textfield.text = [textfield.text uppercaseString];
}
}
}
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
if ((textField.tag == 666 || textField.tag == 777)&&[[MBISingletonCacheData retrieveUserSegmentId]isEqualToString:@"91"]) { // 判斷輸入框是當(dāng)前需要判斷控制的輸入框
NSCharacterSet *set = [[NSCharacterSet characterSetWithCharactersInString:ALPHA] invertedSet];
NSString *filterd = [[string componentsSeparatedByCharactersInSet:set] componentsJoinedByString:@""];
return [string isEqualToString:filterd];
}
return false;
}
ALPHA 使用宏定義寫好 def ALPHA @"QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm 1234567890"