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 相关文章推荐
Jquery插件easyUi表单验证提交(示例代码)
Dec 30 Javascript
javascript中cookie对象用法实例分析
Jan 30 Javascript
JS动态创建元素的两种方法
Apr 20 Javascript
angular route中使用resolve在uglify压缩后问题解决
Sep 21 Javascript
JS闭包与延迟求值用法示例
Dec 22 Javascript
前端必备插件之纯原生JS的瀑布流插件Macy.js
Nov 22 Javascript
vue webpack打包优化操作技巧
Feb 22 Javascript
fastadmin中调用js的方法
May 14 Javascript
js实现鼠标点击页面弹出自定义文字效果
Dec 24 Javascript
详解ES6 CLASS在微信小程序中的应用实例
Apr 24 Javascript
在Vue中使用mockjs代码实例
Nov 25 Vue.js
vue3.0 项目搭建和使用流程
Mar 04 Vue.js
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清除bom示例
2014/03/03 PHP
Windows下的PHP安装文件线程安全和非线程安全的区别
2014/04/23 PHP
Codeigniter发送邮件的方法
2015/03/19 PHP
PHP实现加密文本文件并限制特定页面的存取的效果
2016/10/21 PHP
javascript入门基础之私有变量
2010/02/23 Javascript
Jquery中getJSON在asp.net中的使用说明
2011/03/10 Javascript
JS 无限级 Select效果实现代码(json格式)
2011/08/30 Javascript
jQuery scroll事件实现监控滚动条分页示例
2014/04/04 Javascript
JavaScript中操作Mysql数据库实例
2015/04/02 Javascript
javascript中JSON对象与JSON字符串相互转换实例
2015/07/11 Javascript
jQuery焦点图插件SaySlide
2015/12/21 Javascript
Javascript获取图片原始宽度和高度的方法详解
2016/09/20 Javascript
JS中检测数据类型的几种方式及优缺点小结
2016/12/12 Javascript
深入学习 JavaScript中的函数调用
2017/03/23 Javascript
详解vue+vueRouter+webpack的简单实例
2017/06/17 Javascript
微信小程序中使用ECharts 异步加载数据实现图表功能
2018/07/13 Javascript
解决Layui选择全部,换页checkbox复选框重新勾选的问题方法
2018/08/14 Javascript
VUE实现可随意拖动的弹窗组件
2018/09/25 Javascript
如何获取vue单文件自身源码路径
2019/05/06 Javascript
node.js使用stream模块实现自定义流示例
2020/02/13 Javascript
python列表去重的二种方法
2014/02/14 Python
python数据结构之二叉树的建立实例
2014/04/29 Python
介绍Python的@property装饰器的用法
2015/04/28 Python
wxpython实现图书管理系统
2018/03/12 Python
利用python为运维人员写一个监控脚本
2018/03/25 Python
Pandas 对Dataframe结构排序的实现方法
2018/04/10 Python
Python编写一个优美的下载器
2018/04/15 Python
python爬虫之模拟登陆csdn的实例代码
2018/05/18 Python
python字符串反转的四种方法详解
2019/12/02 Python
Jupyter notebook如何修改平台字体
2020/05/13 Python
Python必须了解的35个关键词
2020/07/16 Python
分解成质因数(如435234=251*17*17*3*2,据说是华为笔试题)
2014/07/16 面试题
摄影实习自我鉴定
2013/09/20 职场文书
平面设计师工作职责范文
2013/12/03 职场文书
学党史心得体会
2014/09/05 职场文书
MySQL 覆盖索引的优点
2021/05/19 MySQL