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 ajax请求实例深入解析
Nov 26 Javascript
JavaScript调试技巧之console.log()详解
Mar 19 Javascript
jQuery中:password选择器用法实例
Jan 03 Javascript
调试JavaScript中正则表达式中遇到的问题
Jan 27 Javascript
微信支付 JS API支付接口详解
Jul 11 Javascript
微信小程序之仿微信漂流瓶实例
Dec 09 Javascript
JavaScript实现前端实时搜索功能
Mar 26 Javascript
arcgis for js栅格图层叠加(Raster Layer)问题
Nov 22 Javascript
Express本地测试HTTPS的示例代码
Jun 06 Javascript
vue 中的keep-alive实例代码
Jul 20 Javascript
Node.JS用纯JavaScript生成图片或滑块式验证码功能
Sep 12 Javascript
webpack4 配置 ssr 环境遇到“document is not defined”
Oct 24 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
全国FM电台频率大全 - 29 青海省
2020/03/11 无线电
PHP出错界面
2006/10/09 PHP
PHP字符串 ==比较运算符的副作用
2009/10/21 PHP
php 安全过滤函数代码
2011/05/07 PHP
PHP实现异步调用方法研究与分享
2011/10/27 PHP
详解WordPress开发中用于获取分类及子页面的函数用法
2016/01/08 PHP
thinkphp5.1框架实现格式化mysql时间戳为日期的方式小结
2019/10/10 PHP
浅谈laravel orm 中的一对多关系 hasMany
2019/10/21 PHP
Nigma vs Alliance BO5 第四场2.14
2021/03/10 DOTA
jquery遍历筛选数组的几种方法和遍历解析json对象
2013/12/13 Javascript
javascript arguments使用示例
2014/12/16 Javascript
JS点击链接后慢慢展开隐藏着图片的方法
2015/02/17 Javascript
全面了解javascript中的错误处理机制
2016/07/18 Javascript
JavaScript实现数组降维详解
2017/01/05 Javascript
JavaScript运动框架 解决防抖动问题、悬浮对联(二)
2017/05/17 Javascript
ionic2自定义cordova插件开发以及使用(Android)
2017/06/19 Javascript
基于js 本地存储(详解)
2017/08/16 Javascript
Vue调试神器vue-devtools安装方法
2017/12/12 Javascript
vue请求本地自己编写的json文件的方法
2019/04/25 Javascript
js中Function引用类型常见有用的方法和属性详解
2019/12/11 Javascript
浅谈Python的list中的选取范围
2018/11/12 Python
Django模型验证器介绍与源码分析
2020/09/08 Python
如何让PyQt5中QWebEngineView与JavaScript交互
2020/10/21 Python
Python爬取豆瓣数据实现过程解析
2020/10/27 Python
一个非常简单好用的Python图形界面库(PysimpleGUI)
2020/12/28 Python
CSS3制作ajax loader icon实现思路及代码
2013/08/25 HTML / CSS
Lenox官网:精美的瓷器&独特的礼品
2017/02/12 全球购物
现在输入n个数字,以逗号,分开;然后可选择升或者降序排序;按提交键就在另一页面显示按什么排序,结果为,提供reset
2012/11/09 面试题
毕业生个人求职信范例分享
2013/12/17 职场文书
春节活动策划方案
2014/01/24 职场文书
水利水电建筑施工应届生求职信
2014/07/04 职场文书
python glom模块的使用简介
2021/04/13 Python
python爬虫请求库httpx和parsel解析库的使用测评
2021/05/10 Python
SpringBoot连接MySQL获取数据写后端接口的操作方法
2021/11/02 MySQL
zabbix 代理服务器的部署与 zabbix-snmp 监控问题
2022/07/15 Servers
MySQL存储过程及语法详解
2022/08/05 MySQL