javaee论坛

普通会员

2

帖子

272

回复

282

积分

楼主
发表于 2017-10-26 16:23:00 | 查看: 817 | 回复: 0

正则:


     1)、正则:正则是用来操作(匹配和捕获)字符串的一系列规则

         test()匹配的结果返回值是布尔值: 符合规则返回true 不符合返回false

         捕获:把需要捕获到得内容拿出来,捕获的是字符串

         正则只和字符串打交道


     2)、正则的创建方式:

        1.字面量创建  var reg=//

        2.实例创建: var reg=new  RegExp()


        区别:

        1)实例创建的时候 特殊含义的字符需要转义(\转义符);

        2)实例的创建的时候,可以进行变量的拼接,字面量不可以进行变量的拼接;



     3)正则的组成:

       1、元字符

          1)代表特殊含义的元字符

             \ 转义符

             . 除了\n 意外任何字符

             \n 换行 一般用在控制台

             ^ 开始

             $ 结束

             | 或

             \b 开头结尾和空格

             () 分组


             \d 数字     \w 数字字母下划线     \s 空格

             \D 非数字    \W 非数字字母下划线   \S 非空格


             [abc] abc中任意一个    [^abc]除了abc三个中任何一个

             [a-z] a-z任何一个      [^a-z]除了a-z任何一个



          2)代表量词元字符


            * 0到多

            + 1到多

            ? 0次或1次

            {n} 正好n次

            {n,} 至少n次

            {n,m} n次到m次


       2.修饰符:

         g   全局 global

         i    忽略大小写


2.正则的运用


      1)匹配手机号:

        匹配手机号  11位

           第二位 3,4,5,7,8,

          var reg=/^1[34578]\d{9}$/;


      2) 2.有效数字  +20 20 -20 20.333  200.333  2  0  02 不包含


             思路:

             1.[+-]?

             2.如果为一位数的话  \d   如果为多位数的话,不能以0作为开头   [1-9]

             3.小数 \.\d+


              用到| 时候一定要写小括号 ()

             var reg=/^[+-]?(\d|([1-9]\d+))(\.\d+)?$/;


      3)邮箱

              iijjjjj_-jssf@qq  163.com  .cn

           var  reg=/^([\w-]+)@[1-9a-zA-Z]{2,4}(\.[a-zA-Z]{2,3}){1,2}$/;


      4)身份证号


          var reg=/^\d{17}(\d|X)$/i;


      5) 非空验证


            var reg=!/^\s+$/;


      6)去除首尾空格

          /*  var str='     jkjyddgljjg    ';

            var reg=/(^\s+)|(\s+$)/g;

             var res= str.replace(reg,'');

            console.log(res);

            console.log('('+res+')');


      7)验证年龄   18或19


            /*var reg=/^(18|19)$/

            18-65

                 18 19   20-59  60-65

                var  reg=/^(18|19)|([2-5]\d)|(6[0-5])$/;


      8)中文名字


            var reg=/^[\u4e00-\u9fa5]{1,4}$/;



   3)总结:

      ():  用到|的时候要用()

             提高优先级

       []:  只能出现一位数

            在中括号里面的特殊的字符比如:. + - 等不再具有特殊意义,就是普通的字符


   5.总结捕获方式:

     exec()    每次不到到一项就返回

     replace()

     match() // 一次把符合我们规则的内容都捕获到 返回一个数组中



上一篇:超牛逼的SQL 下一篇:来金科,来金科
您需要登录后才可以回帖 登录 | 立即注册

触屏版| 电脑版

技术支持 历史网 V2.0 © 2016-2017