js cookie &&正则

复习

  • 滚轮事件 ele.onmousewheel = function(event){ event = event || window.event; var dec = 1; if(event.wheelDelta){ dec = event.wheelDelta >= 120 ? 1 : 0; }else{ dec = event.detail >= 3 ? 0 : 1; } } ele.addEventListener('DOMMouseScroll',function(){ })
  • 服务器用来在客户端存储一些数据,比如用户信息

  • 量小 4kb

  • 1-设置cookie

            document.cookie = "username=aaa";
            document.cookie = "pass=123";
            var date = new Date();
            date.setSeconds(date.getSeconds() + 10);
            //设置cookie 及过期时间
            //document.cookie = "username=aaa;expires=" + date;
            
            封装设置cookie方法:
            function setCookie(cName, cValue, day) {
                var date = new Date();
                date.setDate(date.getDate() + day);
                document.cookie = cName + '=' + cValue + ';expires=' + date;
            }
            setCookie('username', 'aaa', 1);
            setCookie('pass', '123', 1);
            
    
  • 2-获取cookie

        var c = document.cookie;
        console.log(c); //'username=aaa; pass=123'
    
        封装获取cookie的方法:
        function getCookie(cName) {
            var cookieObj = {};
            var cstring = document.cookie; //'username=aaa; pass=123; city=bbb'  --> {username:aaa,pass:123}
            var ary = cstring.split('; '); //['username=aaa','pass=123']
            for (var i = 0; i < ary.length; i++) {
                var ary1 = ary[i].split('=');
                cookieObj[ary1[0]] = ary1[1];
            }
            return cookieObj[cName];
        }
    
        var v = getCookie('pass');
        console.log(v);
        
    
  • 3-删除cookie

        /* 删除cookie :原理就是把过期时间设置为前一天*/
        function removeCookie(cName) {
            setCookie(cName, 1, -1);
        }
        removeCookie('username');
    

(二) 正则

  • 数据类型: - 基本 string number boolean null undefined - 引用 array object regExp function

  • 创建正则

    • 字面量创建

          正则由匹配的字符和修饰符组成
          var reg = /123/ig;
      
    • new RegExp方式创建

          var reg1 = new RegExp('123','ig')
          var s = 'abc';
          var reg3 = new RegExp(s, 'i');
          console.log(reg3);
      
    • 修饰符

      i : 忽略大小写

      g : 全局匹配

  • 常用的元字符

    - \d  0-9数字
    - \D  非数字
    - \w   数字、字母(大小写)、下划线
    - \W   除了数字、字母(大小写)、下划线以外的任意字符
    - \s   匹配空格或空白字符
    - \S   除了空白以外的字符
    - .    除了换行的任意字符
    - \.   点本身
    - \b   边界  单词的两边和字符串的开头和结尾都是边界
    
    - ^   开始
    - $   结尾
    
    • 数量
          -   *   0-多次
          -   ?   0-1次
          -   +   1-多次
          -   {n}   n次
          -   {n,}  至少n次
          -   {n,m}  n-m次
      
      
    • 或者
       - (a|b|c)      a,b,c中的一个字符
       - [abc]     a,b,c中的一个字符
       - (abc|xyz|opq)   abc或者xyz或者opq中的一组
       - [a-z]    匹配小写字母中的一个
       - [^a-z]    除了小写字母中以外的任意字符
      
      
  • 正则相关方法

    • regExp1.test(string) // true、false
    • regExp2.exec(string); //用正则匹配字符串中对应的字符
        var str = 'welcome to ujiuye!'
        var reg = /e/g;
        console.log(reg.lastIndex); //0 下一次匹配的开始位置
        reg.lastIndex = 2; //设置匹配的开始位置
    
        var r = reg.exec(str);
        console.log(r); //6
        console.log(reg.lastIndex); //7
    
        r = reg.exec(str);
        console.log(r); //16
    
        r = reg.exec(str);
        console.log(r); //null 
    
  • 字符串方法(正则相关):

    • string.match(reg) ; 匹配字符串中符合正则表达式的字符

          var str = 'welcome to ujiu-ye!'
          var reg = /e/g;
          var r = str.match(reg); //如果正则没有修饰符g ,和调用一次exec结果一样
          console.log(r);  //['e','e','e'] //如果有修饰符,就是把所有的匹配到的字符放在数组中返回
         
      
    • string.split(/[- ,]/); 同时用多个分割符分割字符串

    • string.replace(/123/g,''); 全局替换

    • string.replace(/(123)/g,'$1') 使用分组替换

    • string.search(reg); 返回第一次匹配的字符的索引

转载于:https://www.cnblogs.com/didamehulayou/p/11172655.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值