IOS中TextField中支付只能输入数字,并且小数点后最多输入两位
来源:互联网 发布:白金数据神乐结局 编辑:程序博客网 时间:2024/06/11 02:47
http://www.jianshu.com/p/a920df4b7936
/** * textField的代理方法,监听textField的文字改变 * textField.text是当前输入字符之前的textField中的text * * @param textField textField * @param range 当前光标的位置 * @param string 当前输入的字符 * * @return 是否允许改变 */- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{ /* * 不能输入.0-9以外的字符。 * 设置输入框输入的内容格式 * 只能有一个小数点 * 小数点后最多能输入两位 * 如果第一位是.则前面加上0. * 如果第一位是0则后面必须输入点,否则不能输入。 */ // 判断是否有小数点 if ([textField.text containsString:@"."]) { self.isHaveDian = YES; }else{ self.isHaveDian = NO; } if (string.length > 0) { //当前输入的字符 unichar single = [string characterAtIndex:0]; BXLog(@"single = %c",single); // 不能输入.0-9以外的字符 if (!((single >= '0' && single <= '9') || single == '.')) { [MBProgressHUD bwm_showTitle:@"您的输入格式不正确" toView:self hideAfter:1.0]; return NO; } // 只能有一个小数点 if (self.isHaveDian && single == '.') { [MBProgressHUD bwm_showTitle:@"最多只能输入一个小数点" toView:self hideAfter:1.0]; return NO; } // 如果第一位是.则前面加上0. if ((textField.text.length == 0) && (single == '.')) { textField.text = @"0"; } // 如果第一位是0则后面必须输入点,否则不能输入。 if ([textField.text hasPrefix:@"0"]) { if (textField.text.length > 1) { NSString *secondStr = [textField.text substringWithRange:NSMakeRange(1, 1)]; if (![secondStr isEqualToString:@"."]) { [MBProgressHUD bwm_showTitle:@"第二个字符需要是小数点" toView:self hideAfter:1.0]; return NO; } }else{ if (![string isEqualToString:@"."]) { [MBProgressHUD bwm_showTitle:@"第二个字符需要是小数点" toView:self hideAfter:1.0]; return NO; } } } // 小数点后最多能输入两位 if (self.isHaveDian) { NSRange ran = [textField.text rangeOfString:@"."]; // 由于range.location是NSUInteger类型的,所以这里不能通过(range.location - ran.location)>2来判断 if (range.location > ran.location) { if ([textField.text pathExtension].length > 1) { [MBProgressHUD bwm_showTitle:@"小数点后最多有两位小数" toView:self hideAfter:1.0]; return NO; } } } } return YES;}
阅读全文
0 0
- IOS中TextField中支付只能输入数字,并且小数点后最多输入两位
- iOS中TextField只能输入数字且小数点后最多输入两位
- angularJs控制input只能输入数字并且小数点后只能输入两位
- JS控制只能输入数字并且最多允许小数点两
- edit中只能输入数字并且只能输入一个小数点
- EditText实现只能输入数字和小数点,限制小数点后?位,并且以数字0开头后只能输入小数点
- input输入框只能输入数字且小数点后只能输入两位数字
- edittext只能输入数字和小数点,且小数点后只能输入两位
- iOS开发中如何设置textfield输入长度并且仅仅只能输入数字
- textField中只能输入数字
- input标签只能输入数字小数点 且小数点后只有两位 ,不允许存在两个小数点!!
- iOS最完美的UITextField中输入金额,只能输入数字和小数点,保留两位小数点且0放在首位
- javascript 控制input只能输入数字并且最多允许两位小数的数字
- 输入数字并且只能输入一个小数点
- edittext只能输入数字和小数点时并且小数点后只能输入两个小数
- iOS中UITextFiled只能输入数字和小数点
- 输入两个数字,输出小数点后最多200位
- 验证文本框转化为金额,小数点后只能输入两位数字
- 数据库和实例
- 代码行数统计工具
- 06-图3 六度空间 (30分)
- python出现SyntaxError: Non-ASCII character '\xe6' in file 打印日期.py on line 1, but no encoding declared;
- Android微信抢红包外挂 源代码
- IOS中TextField中支付只能输入数字,并且小数点后最多输入两位
- node 的crypto加密
- MediaMetadataRetriever类取得媒体文件信息
- JMS基本概念
- 机器学习&深度学习一些网站
- requestWindowFeature()的应用设置
- [李景山php] DDoS攻击进阶 混合攻击
- java 类型信息 笔记
- 1045 回文数