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 相关文章推荐
json 定义
Jun 10 Javascript
flash javascript之间的通讯方法小结
Dec 20 Javascript
javascript的渐进增强与平稳退化浅谈
Nov 12 Javascript
jQuery简易图片放大特效示例代码
Jun 09 Javascript
使用mouse事件实现简单的鼠标经过特效
Jan 30 Javascript
jQuery实现的省市县三级联动菜单效果完整实例
Aug 01 Javascript
jQuery轮播图效果精简版完整示例
Sep 04 Javascript
js从数组中删除指定值(不是指定位置)的元素实现代码
Sep 13 Javascript
jQuery的 $.ajax防止重复提交的两种方法(推荐)
Oct 14 Javascript
Google 爬虫如何抓取 JavaScript 的内容
Apr 07 Javascript
webpack+vue2构建vue项目骨架的方法
Jan 09 Javascript
微信小程序动态生成二维码的实现代码
Jul 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使用pdo连接报错Connection failed SQLSTATE的解决方法
2014/12/15 PHP
php多文件打包下载的实例代码
2017/07/12 PHP
jquery ajax提交表单数据的两种实现方法
2010/04/29 Javascript
Prototype源码浅析 String部分(三)之HTML字符串处理
2012/01/15 Javascript
Jquery 数组操作大全个人总结
2013/11/13 Javascript
使用jQuery和PHP实现类似360功能开关效果
2014/02/12 Javascript
JavaScript中对象属性的添加和删除示例
2014/05/12 Javascript
关于jQuery判断元素是否存在的问题示例探讨
2014/07/21 Javascript
javascript初学者常用技巧
2014/09/02 Javascript
JavaScript通过元素索引号删除数组中对应元素的方法
2015/03/18 Javascript
详解JavaScript编程中的数组结构
2015/10/24 Javascript
es6的数字处理的方法(5个)
2017/03/16 Javascript
MvcPager分页控件 适用于Bootstrap
2017/06/03 Javascript
JavaScript中一些特殊的字符运算
2017/08/17 Javascript
node.js实现http服务器与浏览器之间的内容缓存操作示例
2020/02/11 Javascript
python常用web框架简单性能测试结果分享(包含django、flask、bottle、tornado)
2014/08/25 Python
Django自定义分页效果
2017/06/27 Python
Python tornado队列示例-一个并发web爬虫代码分享
2018/01/09 Python
python将txt等文件中的数据读为numpy数组的方法
2018/12/22 Python
Python数据类型之String字符串实例详解
2019/05/08 Python
Python Tkinter Entry和Text的添加与使用详解
2020/03/04 Python
python如何支持并发方法详解
2020/07/25 Python
Python Matplotlib绘图基础知识代码解析
2020/08/31 Python
详解使用HTML5 Canvas创建动态粒子网格动画
2016/12/14 HTML / CSS
HTML5新特性之语义化标签
2017/10/31 HTML / CSS
使用html5实现表格实现标题合并的实例代码
2019/05/13 HTML / CSS
最畅销的视频游戏享受高达90%的折扣:CDKeys
2020/02/10 全球购物
学习十八大精神心得体会
2013/12/31 职场文书
医学求职信
2014/05/28 职场文书
委托书怎样写
2014/08/30 职场文书
防暑降温通知书
2015/04/27 职场文书
学雷锋团日活动总结
2015/05/06 职场文书
话题作文之财富(600字)
2019/12/03 职场文书
详解JS数组方法
2021/11/20 Javascript
Python字符串格式化方式
2022/04/07 Python
3050和2060哪个好 性能差多少 差距有多大 谁更有性价比
2022/06/17 数码科技