当我们想要对日期进行筛选时,可以选择使用正则表达式的检索功能。这里涉及到正则表达式关于匹配的使用,本篇会就组匹配的基础知识带来分析和代码展示。再学会了正则表达式的匹配方法后,就筛选日期的方法进行过程介绍,下面一起来看看正则表达式的相关内容吧。
正则表达式的括号表示分组匹配,括号中的模式可以用来匹配分组的内容。
/fred+/.test('fredd') // true /(fred)+/.test('fredfred') // true
上面代码中,第一个模式没有括号,结果+只表示重复字母d,第二个模式有括号,结果+就表示匹配fred这个词。
正则表达式内部,还可以用\n引用括号匹配的内容,n是从1开始的自然数,表示对应顺序的括号。
var tagName = /<([^>]+)>[^<]*<\/\1>/; tagName.exec("<b>bold</b>")[1] // 'b'
上面代码中,圆括号匹配尖括号之中的标签,而\1就表示对应的闭合标签。
比如yyyy-mm-dd格式为例。
要求匹配:
2017-06-10
分析:
年,四位数字即可,可用[0-9]{4}。
月,共12个月,分两种情况01、02、……、09和10、11、12,可用(0[1-9]|1[0-2])。
日,最大31天,可用(0[1-9]|[12][0-9]|3[01])。
正则如下:
var regex = /^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$/; console.log( regex.test("2017-06-10") ); // => true
以上就是js正则表达式中筛选年月日的方法,相信在看完分析之后,已经能够理解筛选的步骤了,学会后可以就代码部分进行练习。
实例扩展:
javascript正则表达式
匹配年月日格式为yyyymmdd
年必须是19或者20开头的。
function test(str) { var reg=/^((19|20)[0-9]{2})((0[1-9])|(1[0-2]))((0[1-9])|((1|2)[0-9])|(3[0-1]))$/; if(reg.test(str)){ alert('正确'); } else{ alert('error'); } }
分为三个步骤
((19|20)[0-9]{2})
必须是19或者20开头作为一部分,后面两个就取0-9中取两次。
如果是1-9月,那么就应该显示01-09
如果第一位是0,第二位就取1-9,如果第一位是1,第二位就取0-2
((0[1-9])|((1|2)[0-9])|(3[0-1]))
如果第一位取0,第二位就可以取1-9
如果第一位取1-2,第二位就可以取0-9
如果第一位取3,第二位就可以取0-1
到此这篇关于js用正则表达式筛选年月日的实例方法的文章就介绍到这了,更多相关js正则表达式筛选年月日内容请搜索站长技术以前的文章或继续浏览下面的相关文章希望大家以后多多支持站长技术!
【引自ideras.me的博客】前言 随着wordpress和静态网站的流行,markdown被用的越...
其实要设计一个高可用、高负载的系统还是有一定的规矩可循的,其手段无外乎向上...
在介绍之前,首先一个概念明确一个共识:没有攻不破的网站,只有值不值得。 这意...
这段时间虽然因为疫情导致原本的一些工作有了延后,但是整体来说,大方向的事情...
1月30日消息 微软于 2020 年 5 月发布了 Windows 软件包管理器 WinGet,将基于命...
4.XPath的语法 我们在前面已经提到过,XPath是用来帮助XSLT在XML源文档中查找定...
文章目录 pandas数据可视化 线形图 条形图 堆积条形图 水平条形图 直方图 箱型图...
可能很多人都看到过一个线程数设置的理论: CPU 密集型的程序 - 核心数 + 1 I/O ...
jsp登陆验证,网页登陆验证带验证码校验,登录功能之添加验证码 part_1:专门用...
在php中preg_match()函数是用来执行正则表达式的一个常用的函数。正则表达式几乎...