正则表达式记录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"));
时间: 2024-10-11 17:07:36

正则表达式记录1的相关文章

2018新型手机号正则表达式记录

最近做登陆注册时,需要用到正则验证,自己查询了下,做个记录方便以后再次查找吧! // 手机号码正则表达式 var mobile = /^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])\d{8}$/; //19位全国正式唯一学籍号正则表达式 var roll_code = /^[A-Z]\d{6}(18|19|20)?\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}(\d|[x

swift 手机号码正则表达式 记录一下

1 func isTelNumber(num:NSString)->Bool 2 { 3 var mobile = "^1(3[0-9]|5[0-35-9]|8[025-9])\\d{8}$" 4 var CM = "^1(34[0-8]|(3[5-9]|5[017-9]|8[278])\\d)\\d{7}$" 5 var CU = "^1(3[0-2]|5[256]|8[56])\\d{8}$" 6 var CT = "^1((

正则表达式记录

1.检测域名 /^[a-z.\d-]+[^\sA-Z\W]+$/

python正则表达式记录

元字符: *  星号   它指定前一个字符可以被匹配零次或更多次 >>> re.match('a[bcd]*b', 'abcbdabcd').group() 'abcb' >>> re.match('a[bcd]*b', 'abcbdbcd').group() 'abcbdb' >>> 匹配a和b之间的字符,如果有,那么继续直到没有为止.所以它是贪婪匹配. 如果a和b之间有字符,但是不是bcd中的任意一个那么将会停止,取到上次匹配的结果. +  加号

常用校验正则表达式记录

1. 判断不包含某一字符串 /^((?!abc).)*$/.test('abc') //判断是否包含abc 2.  格式化金钱 function formatMoney(s){ if(/[^0-9\.]/.test(s)) return "invalid value"; s=s.replace(/^(\d*)$/,"$1."); s=(s+"00").replace(/(\d*\.\d\d)\d*/,"$1"); s=s.re

正则表达式介绍及常见用法

正则表达式(Regular Expression),又称正规表示法.常规表示法,在实际的软件开发项目中经常会被使用到.它使用单个字符串来描述.匹配并获取一系列符合某个句法规则的结果. 我将从最基础的部分为大家写这个正则表达式教程. 正则表达式起源   1956年,数学家Stephen Kleene在Warren McCulloch和Walter Pitts早期神经系统工作的基础上,设计出了一个数学符号体系--regular sets(规则的集合),这个东西很快被计算机科学家用于编译器的扫描或词法

文本处理三剑客之grep

文本处理三剑客之grep 正则表达式(regex) 文本处理工具 grep egrep 试验环境:CentOS 7.2 正则表达式 Linux的哲学之一"一切皆文件",学习Linux应得掌握其基本的文本处理工具,这些工具主要包括: 文件内容:less和cat 文件截取:head和tail 文件抽取:cut 关键字搜索:grep 正则表达式是计算机科学中的一个概念,又称作regex或RE, 正则表达式诞生于对神经网络研究的需要,随着技术发展,正则表达式已经广泛应用于各个领域,其主要应用对

kettle中使用javascript步骤和fireToDB函数实现自定义数据库查询

kettle中使用javascript步骤和fireToDB函数实现自定义数据库查询 假设你需要实现非传统的数据库查询操作,为了讨论这种情景,我们假设你需要读取数据库中的正则表达式,然后检查输入的每行的字段匹配表达式的个数. 在javascript步骤执行数据库查询 在javascript步骤初始化的时候,查询数据库,获取正则表达式记录集.然后每一行的输入数据循环检查是否匹配表达式,如果匹配,记录变量加一,最后把结果写到到前行的新增字段中.思路很清楚,但是如何在javascript步骤实现数据库

【js 正则表达式】记录所有在js中使用正则表达式的情况

说实话,对正则表达式有些许的畏惧感,之前的每次只要碰到需要正则表达式去匹配的情况,都会刻意的躲过或者直接从度娘处获取. 此时此刻,感觉到了某一个特定的点去触及她.但笔者对于正则表达式使用上的理解是这样的,仅仅对她的发展历史和使用语法粗略的过了一遍,接下来就是一次一次的使用和记录下和她的每次邂逅.慢慢的,就能在心里勾勒出她最美的一面. 本篇仅记录正则表达式在js中的邂逅经历,如有读者想在其中窥探她的某种语法,直接搜索你想要实现的功能即可,例如[特定字符 多次匹配]之类的即可. 1.特定字符 全部匹