Browse Source

添加正则表达式

zzb 3 năm trước cách đây
mục cha
commit
c6ef3a353e

+ 7 - 0
ZZFoundation/Classes/String/Regex/NSString+ZZRegex.h

@@ -16,8 +16,15 @@ NS_ASSUME_NONNULL_BEGIN
 /// 是否是有效的字符串 @"null"无效
 -(BOOL)zz_validateStr;
 
+/// 正整数
+-(BOOL)zz_checkAllInt;
+
+/// 小数点后两位
+-(BOOL)zz_checkAllNumberTwoDecimalPlaces;
 /// 是不是阿拉伯数字或小数点
 -(BOOL)zz_checkAllNumber;
+/// 是不是阿拉伯数字或小数点(包含负数)
+-(BOOL)zz_checkAllNumberContainNegative;
 
 /// 是否是中文
 - (BOOL)zz_checkAllChinese;

+ 40 - 0
ZZFoundation/Classes/String/Regex/NSString+ZZRegex.m

@@ -27,6 +27,39 @@
     return [pre evaluateWithObject:self];
 }
 
+-(BOOL)zz_checkAllInt{
+    if (self.length == 0)
+    return NO;
+    NSString *regex = @"^[0-9]+$";
+    return [self zz_validateByRegex:regex];
+}
+
+/*
+ if let t = text {
+     let pattern = "^[0-9]+([.]{0,1}[0-9]{0,2}){0,1}$"
+     do {
+             let regex = try NSRegularExpression(pattern: pattern,options: [])
+             let results = regex.matches(in: t, options: [],
+                                         range: NSRange(location: 0, length: t.count))
+             print(results.count)
+             if results.count != 0 {
+                 sf.weightField.text =  (t as NSString).substring(with: results[0].range)
+                 sf.oldValue = we
+             }else{
+                 sf.weightField.text = oldValue
+             }
+         } catch _ {
+             print("invalid regex: (error.localizedDescription)")
+         }
+ }
+ */
+-(BOOL)zz_checkAllNumberTwoDecimalPlaces{
+    if (self.length == 0)
+    return NO;
+    NSString *regex = @"^([0-9]+([.]{0,1}[0-9]{0,2}){0,1})?$";
+    return [self zz_validateByRegex:regex];
+}
+
 -(BOOL)zz_checkAllNumber{
     if (self.length == 0)
     return NO;
@@ -34,6 +67,13 @@
     return [self zz_validateByRegex:regex];
 }
 
+-(BOOL)zz_checkAllNumberContainNegative{
+    if (self.length == 0)
+    return NO;
+    NSString *regex = @"^[-]{0,1}[0-9]+([.]{0,1}[0-9]+){0,1}$";
+    return [self zz_validateByRegex:regex];
+}
+
 //是否是中文
 - (BOOL)zz_checkAllChinese {
     NSString *chineseRegex = @"^[\\u4e00-\\u9fa5]+$";