码迷,mamicode.com
首页 > 其他好文 > 详细

正则表达式记录1

时间:2015-10-02 23:45:11      阅读:269      评论:0      收藏:0      [点我收藏+]

标签:

使用场景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"));

 

正则表达式记录1

标签:

原文地址:http://www.cnblogs.com/milo-xie/p/4852892.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!