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 相关文章推荐
实例:尽可能写友好的Javascript代码
Oct 09 Javascript
Javascript Global对象
Aug 13 Javascript
window.opener用法和用途实例介绍
Aug 19 Javascript
js获取当月最后一天实例代码
Nov 19 Javascript
Javascript基础教程之变量
Jan 18 Javascript
JavaScript创建一个object对象并操作对象属性的用法
Mar 23 Javascript
Bootstrap安装环境配置教程分享
May 27 Javascript
Vue 实现列表动态添加和删除的两种方法小结
Sep 07 Javascript
30分钟用Node.js构建一个API服务器的步骤详解
May 24 Javascript
解决layui表格的表头不滚动的问题
Sep 04 Javascript
微信小程序HTTP接口请求封装代码实例
Sep 05 Javascript
在Vue中使用Select选择器拼接label的操作
Oct 22 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中文乱码解决方案
2015/03/05 PHP
PHP浮点数精度问题汇总
2015/05/13 PHP
php获取当前页面完整URL地址
2015/12/30 PHP
PHP和MYSQL实现分页导航思路详解
2017/04/11 PHP
jQuery Ajax文件上传(php)
2009/06/16 Javascript
JS获取dom 对象 ajax操作 读写cookie函数
2009/11/18 Javascript
jq选项卡鼠标延迟的插件实例
2013/05/13 Javascript
document.documentElement和document.body区别介绍
2013/09/16 Javascript
调整小数的格式保留小数点后两位
2014/05/14 Javascript
JavaScript中的比较操作符&gt;、=、
2014/12/31 Javascript
JavaScript插件化开发教程(六)
2015/02/01 Javascript
windows下安装nodejs及框架express
2015/08/07 NodeJs
将JavaScript的jQuery库中表单转化为JSON对象的方法
2015/11/17 Javascript
H5移动端适配 Flexible方案
2016/10/24 Javascript
微信小程序 wx.uploadFile在安卓手机上面the same task is working问题解决
2016/12/14 Javascript
Ionic学习日记实现验证码倒计时
2018/02/08 Javascript
JS实现的类似微信聊天效果示例
2019/01/29 Javascript
layui问题之自动滚动二级iframe页面到指定位置的方法
2019/09/18 Javascript
js实现简单的日历显示效果函数示例
2019/11/25 Javascript
vue项目如何监听localStorage或sessionStorage的变化
2021/01/04 Vue.js
vue watch监控对象的简单方法示例
2021/01/07 Vue.js
[01:50:49]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster BO3 第三场 1月24日
2021/03/11 DOTA
pyqt和pyside开发图形化界面
2014/01/22 Python
Python入门篇之列表和元组
2014/10/17 Python
python运行其他程序的实现方法
2017/07/14 Python
python实现微信发送邮件关闭电脑功能
2018/02/22 Python
python 读取文本文件的行数据,文件.splitlines()的方法
2018/07/12 Python
python numpy数组中的复制知识解析
2020/02/03 Python
解决keras,val_categorical_accuracy:,0.0000e+00问题
2020/07/02 Python
用python-webdriver实现自动填表的示例代码
2021/01/13 Python
豪华床上用品、床单和浴室必需品:Peacock Alley
2019/09/04 全球购物
什么是Oracle的后台进程background processes?都有哪些后台进程?
2012/04/26 面试题
高中校园广播稿
2014/01/11 职场文书
《广玉兰》教学反思
2014/04/14 职场文书
2014年前台接待工作总结
2014/12/05 职场文书
postgresql中如何执行sql文件
2023/05/08 PostgreSQL