博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
正则表达式记录1
阅读量:6149 次
发布时间:2019-06-21

本文共 948 字,大约阅读时间需要 3 分钟。

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

 

转载于:https://www.cnblogs.com/milo-xie/p/4852892.html

你可能感兴趣的文章
[转载] 七龙珠第一部——第058话 魔境圣地
查看>>
【总结整理】JQuery基础学习---样式篇
查看>>
查询个人站点的文章、分类和标签查询
查看>>
基础知识:数字、字符串、列表 的类型及内置方法
查看>>
JSP的隐式对象
查看>>
JS图片跟着鼠标跑效果
查看>>
[SCOI2005][BZOJ 1084]最大子矩阵
查看>>
学习笔记之Data Visualization
查看>>
Leetcode 3. Longest Substring Without Repeating Characters
查看>>
数学之美系列二十 -- 自然语言处理的教父 马库斯
查看>>
Android实现自定义位置无标题Dialog
查看>>
面试总结
查看>>
Chrome浏览器播放HTML5音频没声音的解决方案
查看>>
Android源码学习之观察者模式应用
查看>>
416. Partition Equal Subset Sum
查看>>
Django之FBV与CBV
查看>>
Vue之项目搭建
查看>>
app内部H5测试点总结
查看>>
[TC13761]Mutalisk
查看>>
Data Wrangling文摘:Non-tidy-data
查看>>