iOS UITextField 显示银行卡格式的方法
程序员文章站
2023-12-16 21:09:58
输入框显示银行卡格式,即为每隔4位出现一个空格,
下面使用uitextfielddelegate,编码实现:
首先引用使用代理
类名 ()
输入框显示银行卡格式,即为每隔4位出现一个空格,
下面使用uitextfielddelegate,编码实现:
首先引用使用代理
类名 ()<uitextfielddelegate> self.textfield.delegate = self;
使用代理方法
- (bool)textfield:(uitextfield *)textfield shouldchangecharactersinrange:(nsrange)range replacementstring:(nsstring *)string { if (textfield == self.contenttextfield) { // 4位分隔银行卡卡号 nsstring *text = [textfield text]; nscharacterset *characterset = [nscharacterset charactersetwithcharactersinstring:@"0123456789\b"]; string = [string stringbyreplacingoccurrencesofstring:@" " withstring:@""]; if ([string rangeofcharacterfromset:[characterset invertedset]].location != nsnotfound) { return no; } text = [text stringbyreplacingcharactersinrange:range withstring:string]; text = [text stringbyreplacingoccurrencesofstring:@" " withstring:@""]; nslog(@"%@",text); // text为输入框内的文本,没有“ ”的内容 nsstring *newstring = @""; while (text.length > 0) { nsstring *substring = [text substringtoindex:min(text.length, 4)]; newstring = [newstring stringbyappendingstring:substring]; if (substring.length == 4) { newstring = [newstring stringbyappendingstring:@" "]; } text = [text substringfromindex:min(text.length, 4)]; } newstring = [newstring stringbytrimmingcharactersinset:[characterset invertedset]]; if ([newstring stringbyreplacingoccurrencesofstring:@" " withstring:@""].length >= 21) { return no; } [textfield settext:newstring]; return no; } return yes; }
使用以上方法即可实现uitextfield 显示银行卡格式。
这篇ios uitextfield 显示银行卡格式的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。