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 模式设计之工厂模式详细说明
May 10 Javascript
浏览器常用高宽的jquery插件
Feb 24 Javascript
js跑步算法的实现代码
Dec 04 Javascript
快速掌握WordPress中加载JavaScript脚本的方法
Dec 17 Javascript
jQuery获取访问者IP地址的方法(基于新浪API与QQ查询接口)
May 25 Javascript
js读取json文件片段中的数据实例
Mar 09 Javascript
Vue2.0结合webuploader实现文件分片上传功能
Mar 09 Javascript
Vue常见面试题整理【值得收藏】
Sep 20 Javascript
vue-router传递参数的几种方式实例详解
Nov 13 Javascript
详解Vue.js中引入图片路径的几种方式
Jun 17 Javascript
JS+css3实现幻灯片轮播图
Aug 14 Javascript
在vue中获取wangeditor的html和text的操作
Oct 23 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
很温暖很温暖的Lester Young
2021/03/03 冲泡冲煮
Thinkphp自定义生成缩略图尺寸的方法
2019/08/05 PHP
PHP程序员简单的开展服务治理架构操作详解(一)
2020/05/14 PHP
jquery 多级下拉菜单核心代码
2010/05/21 Javascript
IE中图片的onload事件无效问题和解决方法
2014/06/06 Javascript
面向切面编程(AOP)的理解
2015/05/01 Javascript
jQuery实现的简单折叠菜单(折叠面板)效果代码
2015/09/16 Javascript
基于JavaScript实现在新的tab页打开url
2016/08/04 Javascript
轻松实现js选项卡切换效果
2016/09/24 Javascript
PHP捕捉异常中断的方法
2016/10/24 Javascript
巧用数组制作图片切换js代码
2016/11/29 Javascript
手机端js和html5刮刮卡效果
2020/09/29 Javascript
ajax与json 获取数据并在前台使用简单实例
2017/01/19 Javascript
使用InstantClick.js让页面提前加载200ms
2017/09/12 Javascript
Node层模拟实现multipart表单的文件上传示例
2018/01/02 Javascript
angularjs实现分页和搜索功能
2018/01/03 Javascript
JS和Canvas实现图片的预览压缩和上传功能
2018/03/30 Javascript
基于jQuery ztree实现表格风格的树状结构
2018/08/31 jQuery
解决cordova+vue 项目打包成APK应用遇到的问题
2019/05/10 Javascript
javascript(基于jQuery)实现鼠标获取选中的文字示例【测试可用】
2019/10/26 jQuery
vuex+axios+element-ui实现页面请求loading操作示例
2020/02/02 Javascript
[00:15]TI9观赛名额抽取
2019/07/10 DOTA
python两种遍历字典(dict)的方法比较
2014/05/29 Python
在Python web中实现验证码图片代码分享
2017/11/09 Python
numpy判断数值类型、过滤出数值型数据的方法
2018/06/09 Python
Python 可变类型和不可变类型及引用过程解析
2019/09/27 Python
python实现梯度法 python最速下降法
2020/03/24 Python
python中读入二维csv格式的表格方法详解(以元组/列表形式表示)
2020/04/24 Python
解析Python 偏函数用法全方位实现
2020/06/26 Python
英国领先的维生素和营养补充剂直接供应商:Healthspan
2019/04/22 全球购物
Vivo俄罗斯官方在线商店:中国智能手机品牌
2019/10/04 全球购物
JSP&Servlet技术面试题
2015/05/21 面试题
办公室主任竞聘演讲稿
2014/05/15 职场文书
幼儿园教师师德表现自我评价
2015/03/05 职场文书
公司欠款证明
2015/06/24 职场文书
Canvas绘制像素风图片的示例代码
2021/09/25 HTML / CSS