iOS textField 限制输入两位小数 - 正则表达式
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
if (range.length >= 1) { // 删除数据, 都允许删除
return YES;
}
if (![self checkDecimal:[textField.text stringByAppendingString:string]]){
if (textField.text.length > 0 && [string isEqualToString:@"."] && ![textField.text containsString:@"."]) {
return YES;
}
return NO;
}
return YES;
}
#pragma mark - 正则表达式
/**
判断是否是两位小数
@param str 字符串
@return yes/no
*/
- (BOOL)checkDecimal:(NSString *)str
{
NSString *regex = @"^[0-9]+(\\.[0-9]{1,2})?$";
NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];
if([pred evaluateWithObject: str])
{
return YES;
}else{
return NO;
}
}
本文标题:iOS textField 限制输入两位小数 - 正则表达式
本文链接:https://www.haomeiwen.com/subject/tcgpdftx.html
网友评论