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 相关文章推荐
动态改变textbox的宽高的js
Oct 26 Javascript
关于全局变量和局部变量的那些事
Jan 11 Javascript
处理文本部分内容的TextRange对象应用实例
Jul 29 Javascript
使用Jquery实现每日签到功能
Apr 03 Javascript
写给小白的JavaScript引擎指南
Dec 04 Javascript
jqueryMobile使用示例分享
Jan 12 Javascript
深入理解JS中的substr和substring
Apr 26 Javascript
AngualrJs清除定时器遇到的坑
Oct 13 Javascript
setTimeout时间设置为0详细解析
Mar 13 Javascript
JavaScript去掉数组重复项的方法分析【测试可用】
Jul 19 Javascript
node中实现删除目录的几种方法
Jun 24 Javascript
Vue基于iview实现登录密码的显示与隐藏功能
Mar 06 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修改session_id示例代码
2014/01/08 PHP
php中PDO方式实现数据库的增删改查
2015/05/17 PHP
Linux(CentOS)下PHP扩展PDO编译安装的方法
2016/04/07 PHP
微信小程序 消息推送php服务器验证实例详解
2017/03/30 PHP
PHP实现的mysql操作类【MySQL与MySQLi方式】
2017/10/07 PHP
PHP中quotemeta()函数的用法讲解
2019/04/04 PHP
PHP高并发和大流量解决方案整理
2019/12/24 PHP
PHP实现文件上传操作和封装
2020/03/04 PHP
读jQuery之一(对象的组成)
2011/06/11 Javascript
ajax处理php返回json数据的实例代码
2013/01/24 Javascript
基于NodeJS的前后端分离的思考与实践(六)Nginx + Node.js + Java 的软件栈部署实践
2014/09/26 NodeJs
深入理解JavaScript系列(44):设计模式之桥接模式详解
2015/03/04 Javascript
深入理解JavaScript系列(19):求值策略(Evaluation strategy)详解
2015/03/05 Javascript
JavaScript的jQuery库中function的存在和参数问题
2015/08/13 Javascript
JS模仿手机端九宫格登录功能实现代码
2016/04/28 Javascript
Angular2实现自定义双向绑定属性
2017/03/22 Javascript
JS库之Three.js 简易入门教程(详解之一)
2017/09/13 Javascript
layerui代码控制tab选项卡,添加,关闭的实例
2019/09/04 Javascript
Python常用库推荐
2016/12/04 Python
Python文件的读写和异常代码示例
2017/10/31 Python
python实现音乐下载器
2018/04/15 Python
Linux 修改Python命令的方法示例
2018/12/03 Python
浅谈Python中range与Numpy中arange的比较
2020/03/11 Python
如何配置关联Python 解释器 Anaconda的教程(图解)
2020/04/30 Python
python中return不返回值的问题解析
2020/07/22 Python
Python爬虫实现自动登录、签到功能的代码
2020/08/20 Python
CSS3 仿微信聊天小气泡实例代码
2017/04/05 HTML / CSS
MUGLER官方网站:蒂埃里·穆勒香水
2019/11/26 全球购物
servlet面试题
2012/08/20 面试题
聚美优品励志广告词
2014/03/14 职场文书
自强之星事迹材料
2014/05/12 职场文书
追悼词范文大全
2015/06/23 职场文书
边城读书笔记
2015/06/29 职场文书
初中地理教学反思
2016/02/19 职场文书
2021好看的国漫排行榜前十名 《完美世界》上榜,《元龙》排名第一
2022/03/18 国漫
vue 把二维或多维数组转一维数组
2022/04/24 Vue.js