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:文字不间断向左移动的实例代码
Aug 08 Javascript
node.js中的console用法总结
Dec 15 Javascript
JS实现仿Windows经典风格的选项卡Tab切换代码
Oct 20 Javascript
javascript每日必学之运算符
Feb 16 Javascript
从零学习node.js之简易的网络爬虫(四)
Feb 22 Javascript
ES6字符串模板,剩余参数,默认参数功能与用法示例
Apr 06 Javascript
JavaScript中重名的函数与对象示例详析
Sep 28 Javascript
webpack将js打包后的map文件详解
Feb 22 Javascript
微信小程序使用form表单获取输入框数据的实例代码
May 17 Javascript
Jquery 动态添加元素并添加点击事件实现过程解析
Oct 12 jQuery
ES6实现图片切换特效代码
Jan 14 Javascript
Vue路由 重定向和别名的区别说明
Sep 09 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
重置版宣传动画
2020/04/09 魔兽争霸
在PHP里得到前天和昨天的日期的代码
2007/08/16 PHP
PHP strtotime函数详解
2009/12/18 PHP
php递归创建和删除文件夹的代码小结
2012/04/13 PHP
PHP获取网页标题的3种实现方法代码实例
2014/04/11 PHP
PHP动态输出JavaScript代码实例
2015/02/12 PHP
php使用str_replace替换多维数组的实现方法分析
2017/06/15 PHP
PHP+redis实现微博的拉模型案例详解
2019/07/10 PHP
Thinkphp5.0框架使用模型Model的获取器、修改器、软删除数据操作示例
2019/10/11 PHP
JavaScript 常见对象类创建代码与优缺点分析
2009/12/07 Javascript
Javascript下IE与Firefox下的差异兼容写法总结
2010/06/18 Javascript
一个分享按钮的插件使用介绍(可扩展,内附开发制作流程)
2011/09/19 Javascript
深入理解JavaScript系列(12) 变量对象(Variable Object)
2012/01/16 Javascript
使用Grunt.js管理你项目的应用说明
2013/04/24 Javascript
浅析LigerUi开发中谨慎载入common.css文件
2013/07/09 Javascript
jQuery表单域选择器用法分析
2015/02/10 Javascript
js实现鼠标经过表格行变色的方法
2015/05/12 Javascript
原生JavaScript实现Tooltip浮动提示框特效
2017/03/07 Javascript
React-Native 组件之 Modal的使用详解
2017/08/08 Javascript
微信小程序商品详情页底部弹出框
2019/11/22 Javascript
vue多个元素的样式选择器问题
2019/11/29 Javascript
[32:17]完美世界DOTA2联赛循环赛LBZS vs Forest第二场 10月30日
2020/10/31 DOTA
python 环境变量和import模块导入方法(详解)
2017/07/11 Python
Python基于回溯法子集树模板解决旅行商问题(TSP)实例
2017/09/05 Python
python traceback捕获并打印异常的方法
2018/08/31 Python
Python函数any()和all()的用法及区别介绍
2018/09/14 Python
浅谈keras中的batch_dot,dot方法和TensorFlow的matmul
2020/06/18 Python
MATLAB数学建模之画图汇总
2020/07/16 Python
python3爬虫中引用Queue的实例讲解
2020/11/24 Python
PatPat阿根廷:妈妈们的购物平台
2019/05/30 全球购物
remote接口和home接口主要作用
2013/05/15 面试题
县委班子四风对照检查材料思想汇报
2014/09/29 职场文书
公司周年庆典致辞
2015/07/30 职场文书
停车场管理制度范本
2015/08/05 职场文书
React Native项目框架搭建的一些心得体会
2021/05/28 Javascript
mysql联合索引的使用规则
2021/06/23 MySQL