美文网首页工具技能姿势
二十个正则表达式

二十个正则表达式

作者: 前端小学生_f675 | 来源:发表于2019-02-02 18:14 被阅读12次

    找到一篇很好的文章:

    赶紧学习一下,做个笔记:
    1,校验密码强度
    包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间:

     ^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$
    

    2,校验中文

    ^[\\u4e00-\\u9fa5]{0,}$
    

    3,由数字、26个英文字母或下划线组成的字符串

    ^\\w+$
    

    4,校验E-Mail地址

    [\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?
    

    5,校验身份证号码
    15位/18位:

    (^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)
    

    6,校验日期
    “yyyy-mm-dd“ 格式的日期校验,已考虑平闰年。

    /((^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(10|12|0?[13578])([-\/\._])(3[01]|[12][0-9]|0?[1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(11|0?[469])([-\/\._])(30|[12][0-9]|0?[1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(0?2)([-\/\._])(2[0-8]|1[0-9]|0?[1-9])$)|(^([2468][048]00)([-\/\._])(0?2)([-\/\._])(29)$)|(^([3579][26]00)([-\/\._])(0?2)([-\/\._])(29)$)|(^([1][89][0][48])([-\/\._])(0?2)([-\/\._])(29)$)|(^([2-9][0-9][0][48])([-\/\._])(0?2)([-\/\._])(29)$)|(^([1][89][2468][048])([-\/\._])(0?2)([-\/\._])(29)$)|(^([2-9][0-9][2468][048])([-\/\._])(0?2)([-\/\._])(29)$)|(^([1][89][13579][26])([-\/\._])(0?2)([-\/\._])(29)$)|(^([2-9][0-9][13579][26])([-\/\._])(0?2)([-\/\._])(29)$))/ig
    

    7、校验金额
    金额校验,精确到2位小数。

    ^[0-9]+(.[0-9]{2})?$1
    

    8、效验手机号

    ^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])\d{8}$
    

    9、判断IE版本

    ^.*MSIE[5-8](?:\\.[0-9]+)?(?!.*Trident\\/[5-9]\\.0).*$
    

    10、校验IP-v4地址

    \\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))\\b
    

    11、校验IP-v6地址

    ^([\da-fA-F]{1,4}:){6}((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)|::([\da−fA−F]1,4:)0,4((25[0−5]|2[0−4]\d|[01]?\d\d?)\.)3(25[0−5]|2[0−4]\d|[01]?\d\d?)|^([\da-fA-F]{1,4}:):([\da-fA-F]{1,4}:){0,3}((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)|([\da−fA−F]1,4:)2:([\da−fA−F]1,4:)0,2((25[0−5]|2[0−4]\d|[01]?\d\d?)\.)3(25[0−5]|2[0−4]\d|[01]?\d\d?)|^([\da-fA-F]{1,4}:){3}:([\da-fA-F]{1,4}:){0,1}((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)|([\da−fA−F]1,4:)4:((25[0−5]|2[0−4]\d|[01]?\d\d?)\.)3(25[0−5]|2[0−4]\d|[01]?\d\d?)
    

    12、检查URL的前缀
    区分请求是HTTPS还是HTTP,通过下面的表达式可以取出一个url的前缀然后再逻辑判断。

    if (!s.match(/^[a-zA-Z]+:\\/\\//))
    {
        s = 'http://' + s;
    }
    
    1. 提取URL链接
      选出一段文本中的URL。
    ^(f|ht){1}(tp|tps):\\/\\/([\\w-]+\\.)+[\\w-]+(\\/[\\w- ./?%&=]*)?
    
    1. 文件路径及扩展名校验
      windows下文件路径和扩展名(下面的例子中为.txt文件)
    ^([a-zA-Z]\\:|\\\\)\\\\([^\\\\]+\\\\)*[^\\/:*?"<>|]+\\.txt(l)?$
    
    1. 提取Color Hex Codes
      抽取网页中的颜色代码
    ^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$
    
    1. 提取网页图片
      想提取网页中所有图片信息
    \\< *[img][^\\\\>]*[src] *= *[\\"\\']{0,1}([^\\"\\'\\ >]*)
    
    1. 提取页面超链接
    (<a\\s*(?!.*\\brel=)[^>]*)(href="https?:\\/\\/)((?!(?:(?:www\\.)?'.implode('|(?:www\\.)?', $follow_list).'))[^"]+)"((?!.*\\brel=)[^>]*)(?:[^>]*)>
    
    1. 查找CSS属性
    ^\\s*[a-zA-Z\\-]+\\s*[:]{1}\\s[a-zA-Z0-9\\s.#]+[;]{1}
    
    1. 抽取注释
    <!--(.*?)-->
    
    1. 匹配HTML标签
    <\\/?\\w+((\\s+\\w+(\\s*=\\s*(?:".*?"|'.*?'|[\\^'">\\s]+))?)+\\s*|\\s*)\\/?>
    

    学习链接:

    知道这20个正则表达式,能让你少写1,000行代码

    相关文章

      网友评论

        本文标题:二十个正则表达式

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