// 限制输入数字或小数点后两位
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
if (range.location==0 && [string isEqualToString:@"."])
{
return NO;
}
if ([string isEqualToString:@""]) {
return YES;
}
NSString *checkStr = [textField.text stringByReplacingCharactersInRange:range withString:string];
//正则表达式 数字或小数点后两位
NSString *regex =
@"^\\-?([1-9]\\d*|0)(\\.\\d{0,2})?$";
// @"^\\-?([1-9]\\d*|0)(\\.\\d{0,2})?$";
// @"(/\d+(\.\d{0,2})?/)||[''])[0]";
// @"^(\d+(?:\.\d{2})?|-1)$";
// @"^[0-9]+(.[0-9]{2})?$";
// @"^\d+(\.\d{2})?$";
return [self isValid:checkStr withRegex:regex];
}
//检测改变过的文本是否匹配正则表达式,如果匹配表示可以键入,否则不能键入
- (BOOL) isValid:(NSString*)checkStr withRegex:(NSString*)regex
{
NSPredicate *predicte = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex];
return [predicte evaluateWithObject:checkStr];
}
限制输入小数点后两位数字
最新推荐文章于 2022-10-14 14:27:02 发布