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 相关文章推荐
传智播客学习之java 反射
Nov 22 Javascript
js下获取div中的数据的原理分析
Apr 07 Javascript
html中的input标签的checked属性jquery判断代码
Sep 19 Javascript
JS实现切换标签页效果实例代码
Nov 01 Javascript
jquery获取img的src值的简单实例
May 17 Javascript
JavaScript实现垂直向上无缝滚动特效代码
Nov 23 Javascript
jQuery Validate验证表单时多个name相同的元素只验证第一个的解决方法
Dec 24 Javascript
node.js发送邮件email的方法详解
Jan 06 Javascript
Angular组件化管理实现方法分析
Mar 17 Javascript
深入了解query和params的使用区别
Jun 24 Javascript
Angular8 Http拦截器简单使用教程
Aug 20 Javascript
es6函数之严格模式用法实例分析
Mar 17 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防止直接访问.php 文件的实现方法
2017/07/28 PHP
PHP连接MySQL数据库并以json格式输出
2018/05/21 PHP
PHP递归统计系统中代码行数
2019/09/19 PHP
js类中的公有变量和私有变量
2008/07/24 Javascript
JavaScript实现的链表数据结构实例
2015/04/02 Javascript
jQuery使用animate创建动画用法实例
2015/08/07 Javascript
学习javascript面向对象 javascript实现继承的方式
2016/01/04 Javascript
全面了解javascript三元运算符
2016/06/27 Javascript
AngularJS 模块详解及简单实例
2016/07/28 Javascript
Javascript 实现微信分享(QQ、朋友圈、分享给朋友)
2016/10/21 Javascript
jQuery源码分析之sizzle选择器详解
2017/02/13 Javascript
微信小程序媒体组件详解(视频,音乐,图片)
2017/09/19 Javascript
bootstrap paginator分页插件的两种使用方式实例详解
2017/11/14 Javascript
javascript Function函数理解与实战
2017/12/01 Javascript
深入理解requireJS-实现一个简单的模块加载器
2018/01/15 Javascript
JS运动特效之完美运动框架实例分析
2018/01/24 Javascript
详解VUE前端按钮权限控制
2019/04/26 Javascript
javascript实现时间日期的格式化的方法汇总
2020/08/06 Javascript
微信小程序实现点击导航条切换页面
2020/11/19 Javascript
[02:08:58]2014 DOTA2国际邀请赛中国区预选赛 Ne VS CIS
2014/05/22 DOTA
Python内置函数bin() oct()等实现进制转换
2012/12/30 Python
Python判断Abundant Number的方法
2015/06/15 Python
MySQL中表的复制以及大型数据表的备份教程
2015/11/25 Python
django之常用命令详解
2016/06/30 Python
​如何愉快地迁移到 Python 3
2019/04/28 Python
django foreignkey(外键)的实现
2019/07/29 Python
利用Python绘制有趣的万圣节南瓜怪效果
2019/10/31 Python
Pyecharts绘制全球流向图的示例代码
2020/01/08 Python
小米俄罗斯授权商店:Xiaomi俄罗斯
2019/12/08 全球购物
.net工程师笔试题
2012/06/09 面试题
2014元旦晚会策划方案
2014/02/19 职场文书
《富饶的西沙群岛》教学反思
2014/04/09 职场文书
详解Apache SkyWalking 告警配置指南
2021/04/22 Servers
MySQL系列之八 MySQL服务器变量
2021/07/02 MySQL
Python多线程 Queue 模块常见用法
2021/07/04 Python
python实现学员管理系统(面向对象版)
2022/06/05 Python