• 正则表达式经验汇总


    一、/[^w.$]/

      1.1 匹配 括号内以单词字符(字母、数字、下划线)开头以任意字符结尾的字符串。      2.2 匹配 除了单词字符、.、$以外的其他字符

        

      

    二、邮箱---- /^([a-zA-Z0-9_-].*)+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])*(.[a-zA-Z0-9_-]){2-3}$/

          验证绝大部分正确格式(用户角度+开发成本)---宁可放过错误的邮箱输入(验证码还在),也不阻拦一个正确的邮箱格式。

           

     三、手机----/^1(3[0-9]|4[57]|5[0-35-9]|8[0-9]|70)[0-9]{8}$/g

        a|b|c|d:查找任何指定的一项

    四、手机验证码----/^[0-9]{4}$/g

    五、身份证号----https://github.com/atmflzbat/javascript_experience/blob/master/%E8%BA%AB%E4%BB%BD%E8%AF%81%E6%AD%A3%E5%88%99.html
       验证: 空、整体正则(验个大概)、地区码、日期(对正则补充)、校验位; 支持15位和18位身份证。

        
       整体正则----/^d{6}(18|19|20)?d{2}(0[1-9]|[12]d|3[01])d{3}(d|X)?$/i

          ? 前面的正则出现0次或者一次

      地区码-------

      出身日期----- var validated = new Date(year +"/" + month +"/" + day) 与
    var date = "" + year + month +day 比较是否相等
            
            year 、 month 、day分别表示
    输入域年月日位获取到值。 作为对整体正则不能验证类似2月30、6月31等的补充。

      校验位------
    六、真实姓名----/^[u4e00-u9fa5]{2,4}$/

      Unicode字符常见中文范围、2-4位

    七、密码----https://github.com/atmflzbat/javascript_experience/blob/master/%E5%AF%86%E7%A0%81%E6%AD%A3%E5%88%99.html

      A密码由数字、字母、特殊字符组成 B、位数8-18位
      字母 数字 特殊字符三种最少包含选两种---------------/^(?![a-zA-Z]+$)(?!d+$)(?![^0-9a-zA-Z]+$)/

        等价不全是字母
    (?![a-zA-Z]+$)、不全是数字(?!d+$)、不全是特殊字符(?![^0-9a-zA-Z]+$)--------()()我理解是并列关系、?!后面的匹配不到、 +$后面的全是前面规则筛选的、 ^单纯的表示以什么开头。
      最少包含字母 数字 特殊三种类型--------------/^(?![^a-zA-Z]+$)(?!D+$)(?![0-9a-zA-Z]+$)/
         等价不全是非字母(?![^a-zA-Z]+$)、不全是非数字(?!D+$)、不全是非特殊字符(?![0-9a-zA-Z]+$)---------字母[a-zA-Z] 数字[0-9] 特殊字符[^0-9a-zA-Z]
      确认密码: 与密码框值比较是否一致

    八、昵称----https://github.com/atmflzbat/javascript_experience/blob/master/%E6%98%B5%E7%A7%B0%E6%AD%A3%E5%88%99.html
       A: 4--18位。  ----------------------- charCodeAt 128以下为可显示的unicode码      replace(/[u4E00-u9FA5]/g,"aa")

       B: 单词字符(字母数字_)、汉字组成。 ------------------- /[u4E00-u9FA50-9a-zA-Z_]/


    九、正则结合replace实现过滤----过滤错误输入,可省去报错提示。

      

     十、过滤html字符串--------过滤出来i标签和img标签之外的其它标签(用于文本编辑器开发)

      

      正则: var str = input_str.replace(/<(?!(/?[img|i]))[^>]+>/ig , "");

          ?!:非    /?:转义一下的/ 有另个或一个    [^>]:除了>之外的字符    +:至少有一个
    
    
    
    
  • 相关阅读:
    Ajax学习笔记3种Ajax的实现
    分页学习笔记真分页和假分页实现
    学习笔记链表练习,模仿StringBuilder的山寨版StringBuilder
    学习笔记将Asp.Net网站发布到IIS的四种方法及注意事项
    3D 音频技术产品介绍(1):Iosono the future of spatial audio
    国际顶级语音信号增强工作组:IWAENC(International Workshop on Acoustic Echo and Noise Control)
    转:《欢聚时代(多玩YY)IPO招股书》(概要)
    苏州阔地网络科技有限公司专利分析
    CELT和SILK以及Opus的位分配方法
    ISAC 码流格式
  • 原文地址:https://www.cnblogs.com/fengluzheweb/p/6398686.html
Copyright © 2020-2023  润新知