iOS 数字格式化(手机号码 银行卡号 格式化,验证码输入控制)

需求 手机号号码 15288888888  ------->152 8888 8888  银行卡号 8888888888888888888 ----->8888 8888 8888 8888 888

实现 在UITextFiled输入时候就实现号码格式化

在UITextField代理方法 shouldChangeCharactersInRange 实现即可,可以写法分类 就可以全局使用,方便快捷

NSString *text = [textFieldtext];

// 只能输入数字

NSCharacterSet *characterSet = [NSCharacterSetcharacterSetWithCharactersInString:@"0123456789\b"];

string = [string stringByReplacingOccurrencesOfString:@" "withString:@""];

if ([stringrangeOfCharacterFromSet:[characterSetinvertedSet]].location !=NSNotFound)

{

returnNO;

}

text = [text stringByReplacingCharactersInRange:rangewithString:string];

text = [text stringByReplacingOccurrencesOfString:@" "withString:@""];

// 如果是电话号码格式化,需要添加这三行代码 如果是判断银行卡只要把这三句注释即可

NSMutableString *temString = [NSMutableStringstringWithString:text];

[temString insertString:@" "atIndex:0];

text = temString;

NSString *newString =@"";

while (text.length >0)

{

NSString *subString = [textsubstringToIndex: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:[characterSetinvertedSet]];

// 号码14银行卡 24

if (newString.length >=14)

{

returnNO;

}

[textField setText:newString];

returnNO;

这里参考了 http://blog.csdn.net/rlpeng/article/details/21292059 这边文章, 感谢分享 我这里写成了分类,可以直接拷贝使用

demo地址:后期更新·

时间: 2024-10-23 03:40:34

iOS 数字格式化(手机号码 银行卡号 格式化,验证码输入控制)的相关文章

ios将银行卡号格式化

ios将银行卡号格式化 by 伍雪颖 - (NSString *)formatCardNumber:(NSString *)cardNum { NSNumber *number = @([cardNum longLongValue]); NSNumberFormatter *formatter = [NSNumberFormatter new]; [formatter setUsesGroupingSeparator:YES]; [formatter setGroupingSize:4]; [f

银行卡号格式化代码实例

银行卡号格式化代码实例: bankInput插件是银行卡进行格式化显示,能控制文本框输入最小最大个数.控制只能输入数字.控制不能粘贴不能使用输入法.同时插件能实现自动加载格式化显示和支持非输入框的格式话显.图示如下: <script>$(".account").bankInput()$(".account").bankList() </script> 1.默认使用方法: $("#account").bankInput();

iOS开发——App集成短信验证码

无论是在网页上还是在客户端,每当我们进行注册的时候,往往会进行短信或者邮箱验证,这是一种不错的安全机制.对于用户体验来说,如果是在PC的网页上,用邮箱或者短信验证都比较方便:如果是在手机上,那么使用短信验证就比较方便.这篇博客我们将会在iOS应用中实现短信验证码的功能.实例demo我已经集成到  https://github.com/chenyufeng1991/iOS-Oncenote . 这里我将会使用mob 的短信验证码 SDK来开发.官网地址为: http://www.mob.com/#

ios数字钟的实现

ios数字钟的实现 数字钟的创建,我们首先的准备一些参数:代码如下: #import "AppDelegate.h" @implementation AppDelegate { UILabel * _yearLabel; UILabel * _monthLabel; UILabel * _dayLabel; UILabel * _hourLabel; UILabel * _minuteLabel; UILabel * _secondLabel; NSMutableArray * _da

IOS开发-点击View取消键盘输入

要想在一个TextField等输入框中取消输入,有几个办法,第一个是在键盘添加按钮,第二个就是通过判断然后取消键盘的输入了. 下面讲第二个 写一个方法并实现 // .h文件 - (IBAction)cancelInput:(id)sender; // .m文件 - (void)cancelInput:(id)sender { [TextField1 resignFirstResponder]; [TextField2 resignFirstResponder]; [TextView resign

IOS判断是否有效银行卡号

IOS判断是否有效银行卡号 by  伍雪颖 + (BOOL) isValidCreditNumber:(NSString*)value { BOOL result = NO; NSInteger length = [value length]; if (length >= 13) { result = [WTCreditCard isValidNumber:value]; if (result) { NSInteger twoDigitBeginValue = [[value substring

【Android】仿iOS数字密码解锁源码

仿iOS数字密码解锁. 下载地址:http://www.devstore.cn/code/info/745.html 运行截图:

appium验证码输入笔记

今天自动化验证码输入一个共四个输入框,直接定位输入发现问题,就是不能输入: driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS); driver.findElementById("com.systoon.beijingtoon:id/et_3").sendKeys("1"); 一个一个输入,这样是不能实现,同沟通,只能一次性输入才能输入正确: Thread.sleep(2000); drive

剑指Offer(Java版)第四十题:在数组中的两个数字,如果前面一个数字大于后面的数字, 则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。 并将P对1000000007取模的结果输出。 即输出P%1000000007

/*在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对.输入一个数组,求出这个数组中的逆序对的总数P.并将P对1000000007取模的结果输出. 即输出P%1000000007 */ import java.util.*; public class Class40 { public int InversePairs(int[] array){ int length = array.length; int P = 0; for(int i = 0; i < lengt