js用正则表达式筛选年月日的实例方法


Posted in Javascript onJanuary 04, 2021

当我们想要对日期进行筛选时,可以选择使用正则表达式的检索功能。这里涉及到正则表达式关于匹配的使用,本篇会就组匹配的基础知识带来分析和代码展示。再学会了正则表达式的匹配方法后,就筛选日期的方法进行过程介绍,下面一起来看看正则表达式的相关内容吧。

1.组匹配

正则表达式的括号表示分组匹配,括号中的模式可以用来匹配分组的内容。

/fred+/.test('fredd') // true
/(fred)+/.test('fredfred') // true

上面代码中,第一个模式没有括号,结果+只表示重复字母d,第二个模式有括号,结果+就表示匹配fred这个词。

正则表达式内部,还可以用\n引用括号匹配的内容,n是从1开始的自然数,表示对应顺序的括号。

var tagName = /<([^>]+)>[^<]*<\/\1>/;
tagName.exec("<b>bold</b>")[1]
// 'b'

上面代码中,圆括号匹配尖括号之中的标签,而\1就表示对应的闭合标签。

2.匹配年月日

比如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中取两次。

  • 再看月((0[1-9])|(1[0-2]))

如果是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正则表达式筛选年月日内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
js操作Xml(向服务器发送Xml,处理服务器返回的Xml)(IE下有效)
Jan 30 Javascript
Zero Clipboard js+swf实现的复制功能使用方法
Mar 07 Javascript
JS TextArea字符串长度限制代码集合
Oct 31 Javascript
jquery remove方法应用详解
Nov 22 Javascript
jquery checkbox 勾选的bug问题解决方案与分析
Nov 13 Javascript
jQuery Easy UI中根据第一个下拉框选中的值设置第二个下拉框是否可以编辑
Nov 29 Javascript
weebox弹出窗口不居中显示的解决方法
Nov 27 Javascript
JS实现生成由字母与数字组合的随机字符串功能详解
May 25 Javascript
JS在if中的强制类型转换方式
Jul 15 Javascript
微信小程序数据分析之自定义分析的实现
Aug 17 Javascript
基于Vue的侧边目录组件的实现
Feb 05 Javascript
js实现简单进度条效果
Mar 25 Javascript
vue中父子组件的参数传递和应用示例
Jan 04 #Vue.js
如何在VUE中使用vue-awesome-swiper
Jan 04 #Vue.js
vue项目如何监听localStorage或sessionStorage的变化
Jan 04 #Vue.js
element-ui封装一个Table模板组件的示例
Jan 04 #Javascript
ES2020让代码更优美的运算符 (?.) (??)
Jan 04 #Javascript
详解阿里Node.js技术文档之process模块学习指南
Jan 04 #Javascript
手写Vue源码之数据劫持示例详解
Jan 04 #Vue.js
You might like
PHP 服务器配置(使用Apache及IIS两种方法)
2009/06/01 PHP
php的慢速日志引起的Mysql错误问题分析
2014/05/13 PHP
CI框架常用方法小结
2016/05/17 PHP
PHP排序算法之归并排序(Merging Sort)实例详解
2018/04/21 PHP
php微信公众号开发之微信企业付款给个人
2018/10/04 PHP
Auntion-TableSort国人写的一个javascript表格排序的东西
2007/11/12 Javascript
jQuery 剧场版 你必须知道的javascript
2009/05/27 Javascript
jquery插件开发注意事项小结
2013/06/04 Javascript
AngularJS的内置过滤器详解
2015/05/14 Javascript
javascript实现支持移动设备画廊
2015/08/24 Javascript
jQuery基本筛选选择器实例代码
2017/02/06 Javascript
Angular4.0中引入laydate.js日期插件的方法教程
2017/12/25 Javascript
Element-ui tree组件自定义节点使用方法代码详解
2018/09/17 Javascript
vue-router权限控制(简单方式)
2018/10/29 Javascript
在Vue项目中使用snapshot测试的具体使用
2019/04/16 Javascript
nodejs中实现用户注册路由功能
2019/05/20 NodeJs
ElementUI之Message功能拓展详解
2019/10/18 Javascript
[45:18]2018DOTA2亚洲邀请赛 4.3 突围赛 Optic vs iG 第一场
2018/04/04 DOTA
简单介绍Python中的JSON模块
2015/04/08 Python
python爬虫爬取某站上海租房图片
2018/02/04 Python
用TensorFlow实现戴明回归算法的示例
2018/05/02 Python
python使用pip安装模块出现ReadTimeoutError: HTTPSConnectionPool的解决方法
2019/10/04 Python
Python Process多进程实现过程
2019/10/22 Python
django 实现手动存储文件到model的FileField
2020/03/30 Python
CSS3过渡transition效果实例介绍
2016/05/03 HTML / CSS
使用spring mvc+localResizeIMG实现HTML5端图片压缩上传的功能
2016/12/16 HTML / CSS
Urban Outfitters美国官网:美国生活方式品牌
2016/08/26 全球购物
EMPHASIS艾斐诗官网:周生生旗下原创精品珠宝品牌
2020/12/17 全球购物
英语自荐信范文
2013/12/11 职场文书
培训主管岗位职责
2014/02/01 职场文书
专业技术职务聘任书
2014/03/29 职场文书
本科毕业生自荐信
2014/05/26 职场文书
植物生产学专业求职信
2014/08/08 职场文书
2014年最新学校运动会广播稿
2014/09/17 职场文书
干部年终考核评语
2015/01/04 职场文书
python实战之用emoji表情生成文字
2021/05/08 Python