+发表新主题
查看: 1649|回复: 0

[代码片段] js 正则表达式

[复制链接]

[代码片段] js 正则表达式

[复制链接]
shitou 发表于 2015-12-24 22:15:38 浏览:  1649 回复:  0 [显示全部楼层] |只看大图 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
二. 正则表达式:规定字符串中字符出现规则的表达式

        何时使用正则表达式:查找,验证,替换,切割

        规则:

       1. 最简单的正则表达式:关键词原文——必须和原文完全匹配

比如:查找关键词 “我去”

          220943t6mnqtkqtp9mqgmx.png

上文中所有 我去 都被选上了。


      2. 备选字符集:规定某一位字符的备选字符列表,必须且只能多选一

        [备选字符列表

      比如:[

      220943t6mnqtkqtp9mqgmx.png

只能匹配文字中的所有 我去 和 我勒   。


         2.1 如果备选字符的unicode号连续:

              可用 - 连接开头字符和结尾字符

           比如:1位数字: [0123456789]-->[0-9]

                 1位小写字母:[a-z]

                 1位字母:[a-zA-Z]

                 1位数字或字母: [a-zA-Z0-9]

比如:[0-9][0-9][a-zA-Z],匹配所有连续的 2数字1字母

   220943t6mnqtkqtp9mqgmx.png

        

      3. 预定义字符集:针对常用的备选字符集提供的简化符号

           比如:[0-9]-->d : 1位数字

                 [a-zA-Z0-9_]-->w : 1位字母,数字或下划线

                 空字符-->s : 1位空字符:换行,制表符,空格

                          .  : 除换行外,其余所有字符!

比如:ddddws---->匹配5个数字和一空格 或 4个数字1个字母加一个空格

       220943t6mnqtkqtp9mqgmx.png


      4. 量词:规定字符集出现的次数,默认一个量词,仅修饰左侧紧邻的字符集

            4.1: 确定数量:

                  1.{m,n}-->至少m个,最多n

      比如:d{3,4}-->匹配最少三个数字,最多四个

          220943t6mnqtkqtp9mqgmx.png

                 2. {m,}-->m个以上

     比如:d{6,}--->匹配6个以上数字

          220943t6mnqtkqtp9mqgmx.png

                  3.{m}-->必须m

      比如:d{6}----->之匹配6个数字

            220943t6mnqtkqtp9mqgmx.png


            4.2: 不确定数量:

                 1. ?:可有可无,最多一个

      比如: [去草][去草]?-->匹配所有我去、我草、我去去、我去草、我草草

          220943t6mnqtkqtp9mqgmx.png

                 2. *:可有可无 多了不限

                 3.+1个以上

      5. 选择和分组:

          选择: | 读作""

          分组: ( )

          何时使用:希望多个字符集被同一 个两次修饰时

比如:手机号     (+86|0086)?s*1[34578]d{9}  

220943t6mnqtkqtp9mqgmx.png


        (+86|0086)?s*1[34578]d{9}

    6. 指定匹配位置:

          开头和结尾:^开头的xxx$结尾的xxx

          何时使用:仅匹配开头的规则和结尾的规则时使用

          固定搭配:^正则表达式$-->表示从头到尾完整匹配

          何时使用指定开头与结尾:只要验证时,必须前加^,后加$

          比如:匹配字符串开头的所有空字符:^s+

          220943t6mnqtkqtp9mqgmx.png

                匹配字符串结尾的所有空字符:s+$

          220943t6mnqtkqtp9mqgmx.png

                同时匹配开头或结尾的空字符:^s+ |s+$

          220943t6mnqtkqtp9mqgmx.png

          单词边界:b:一个单词必须前后有空字符分隔才匹配,在中文中不常见

      比如:byoub

          220943t6mnqtkqtp9mqgmx.png

      密码强度验证:6位密码,字母数字的组合,至少包含一位大写字母和一位数字

              1. 预判字符串不全由小写字母和大写字母组成

                (?![a-zA-Z]+$) -->可能有数字或特殊符号

             2. 预判字符串不全由小写字母和数字组成

                (?![a-z0-9]+$) -->可能有大写字母或特殊符号

             3. 定义正常逻辑:

                 [a-zA-Z0-9]{6}

        密码强度验证: ^ (?![a-zA-Z]+$)(?![a-z0-9]+$)[a-zA-Z0-9]{6}$

             220943t6mnqtkqtp9mqgmx.png
回复

使用道具 举报


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版| 赣南网

© 2013-2016 Comsenz Inc. Powered by Discuz! X3.4

用微信扫一扫

赣南网