zoukankan      html  css  js  c++  java
  • 正则表达式记录1

    使用场景1

    如果http请求的路由,开头是login或者WeChat或者是register,默认有access权限,否则没有session情况下,要跳转到login页面:

    原本我们可能用如下,一个个都用indexOf去判断,但是这样如果以后越来越多不需要登录就可以进去,就会越加月多,代码很长不美观:

    if (req.session.user || req.path.indexOf("/login") === 0 || req.path.indexOf("/wechat") === 0 || req.path.indexOf("/register") === 0) {
            next();
        } else {
            res.redirect('/login');
        }

    此时,我们可以考虑使用优雅的正则表达式:

    var patt = /^(/login|/wechat|/register)/gi; 
    if (req.session.user || patt.test(req.path)) {
            next();
        } else {
            res.redirect('/login');
        }

    这里gi是全局并且忽略大小写。

    使用场景2

    A.如果有一串日期时间字符串,format:yyyyMMddhhmmss, 例如20151002231311,要格式化为2015-10-02 22:13:11

    这时候也可以使用正则的分组方式:

    console.log("20151002231311".replace(/(d{4})(d{2})(d{2})(d{2})(d{2})(d{2})/, "$1-$2-$3 $4:$5:$6"));

    B.同样日期格式 ,format:MM/dd/yyyy, 例如10/02/2015,要格式化为2015-10-02,则用如下分组:

    console.log("10/02/2015".replace(/(d{2})[/](d{2})[/](d{4})/, "$3-$1-$2"));
  • 相关阅读:
    sql语句游标的写法
    oracle的安装与plsql的环境配置
    oracle中创建表时添加注释
    jsp中Java代码中怎么获取jsp页面元素
    sql模糊查询
    jQuery循环给某个ID赋值
    Codeforces Round #671 (Div. 2)
    TYVJ1935 导弹防御塔
    Educational Codeforces Round 95 (Rated for Div. 2)
    Codeforces Round #670 (Div. 2)
  • 原文地址:https://www.cnblogs.com/milo-xie/p/4852892.html
Copyright © 2011-2022 走看看