美文网首页
字符串、手机号正则校验和图片64

字符串、手机号正则校验和图片64

作者: 光光6 | 来源:发表于2021-06-14 23:50 被阅读0次

    //手机号正则校验

    + (BOOL)isMobileNumber:(NSString*)mobileNum{

        NSString *str = @"(0\\d{3,5}(-)?\\d{7,8})|(1\\d{10})|((400|800)\\d{7})";

        NSPredicate*regextestmobile = [NSPredicatepredicateWithFormat:@"SELF MATCHES %@", str];

        if([regextestmobileevaluateWithObject:mobileNum] ==YES){

            returnYES;

        }else{

            returnNO;

        }

    }

    第二、将图片转化base64

    //将图片转表示base64值的字符串

    funcimageToBase64(image:UIImage) ->String{

        //将获取的图片通过jpegData(compressionQuality: 1.0)方法转成Data类型的数据。

        //参数1.0表示不压缩,因为jpeg是有损格式,jpg和jpeg都用这个方法。无损格式PNG使用pngData()方法转换,没有参数,也就是不压缩。

        letimageData:Data? = image.jpegData(compressionQuality:1.0)

        let str: String = imageData!.base64EncodedString(options: Data.Base64EncodingOptions.lineLength64Characters)

        //返回

        returnstr

    }

    第三、 字段的校验规则

    enum StringFormat {

        casenumber    //纯数字

        casefloat      // 浮点数字

        case character  // 纯字母

        casephone      // 是否电话号码

        caseemail      // 是否邮箱

        case numberAndCharacter //字母和数字

    }

     }

        funcisFormat(of type:StringFormat) ->Bool{

            ifisEmpty{

                returnfalse

            }

            letregex:String

            switchtype {

            case.number: regex ="^[0-9]*$"

            case.float: regex ="^[0-9]+(.[0-9]+)?$"

            case.character: regex ="^[a-zA-Z]*$"

            case.phone: regex ="^0\\d{8,9}$"

            case .email: regex = "\\b([a-zA-Z0-9%_.+\\-]+)@([a-zA-Z0-9.\\-]+?\\.[a-zA-Z]{2,6})\\b"

            case.numberAndCharacter: regex ="^[A-Za-z0-9]*$"

            }

            returnmatches(pattern: regex)

        }

    相关文章

      网友评论

          本文标题:字符串、手机号正则校验和图片64

          本文链接:https://www.haomeiwen.com/subject/mtsoeltx.html