zoukankan      html  css  js  c++  java
  • iOS开发:正则表达式

    语法/字符说明表

    值表达

    .      匹配除换行符外的任意字符

    w   匹配字母或者数字的字符

    W   匹配任意不是字母或数字的字符

    s    匹配任意的空白符(空格、制表符、换行符)

    S    匹配任意不是空白符的字符

    d    匹配任意数字

    D    匹配任意非数字的字符

        匹配单词的结尾或者开头的字符

    B    匹配任意不是单词结尾或开头的字符

    [^x]  匹配任意非x的字符。如[^[a-z]]匹配非小写字母的任意字符

    ^      匹配字符串的开头

    $      匹配字符串的结尾

    修饰表达

    *     匹配重复任意次数

    +    匹配重复一次以上的次数

    ?      匹配一次或零次

    {n}    匹配重复n次

    {n,}   匹配重复n次或n次以上

    {n,m} 匹配重复最少n次最多m次

     
     
    - (BOOL)isEmpty
    {
            return self.text.length == 0;
    }
    - (BOOL)validateEmail
    {
            return [self validateWithRegExp: @"^[a-zA-Z0-9]{4,}@[a-z0-9A-Z]{2,}\.[a-zA-Z]{2,}$"];
    }
    - (BOOL)validateAuthen
    {
            return [self validateWithRegExp: @"^\d{5,6}$"];
    }
    - (BOOL)validatePassword
    {
            NSString * length = @"^\w{6,18}$";         //长度
            NSString * number = @"^\w*\d+\w*$";      //数字
            NSString * lower = @"^\w*[a-z]+\w*$";      //小写字母
            NSString * upper = @"^\w*[A-Z]+\w*$";     //大写字母
            return [self validateWithRegExp: length] && [self validateWithRegExp: number] && [self validateWithRegExp: lower] && [self validateWithRegExp: upper];
    }
     
    - (BOOL)validatePhoneNumber
    {
            NSString * reg = @"^1\d{10}$"
            return [self validateWithRegExp: reg];
    }
    - (BOOL)validateWithRegExp: (NSString *)regExp
    {
            NSPredicate * predicate = [NSPredicate predicateWithFormat: @"SELF MATCHES %@", regExp];
            return [predicate evaluateWithObject: self.text];
    }
  • 相关阅读:
    linux shell 脚本显示执行的命令与关闭显示执行的命令
    docker-compose 文件参考
    django 关系字段一对多的筛选
    深度学习-tensorflow学习笔记(2)-MNIST手写字体识别
    opencv-学习笔记(6)图像梯度Sobel以及canny边缘检测
    opencv-学习笔记(5)形态学转变
    opencv-学习笔记(4)-模糊
    opencv-学习笔记(3)
    opencv-学习笔记(2)
    opencv-学习笔记(1)常用函数和方法。
  • 原文地址:https://www.cnblogs.com/walkingzmz/p/5917132.html
Copyright © 2011-2022 走看看