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 相关文章推荐
如果文字过长,则将过长的部分变成省略号显示
Jun 26 Javascript
jquery 双色表格实现代码
Dec 08 Javascript
网页加载时页面显示进度条加载完成之后显示网页内容
Dec 23 Javascript
Jquery对数组的操作技巧整理
Mar 25 Javascript
解决ueditor jquery javascript 取值问题
Dec 30 Javascript
Angular实现预加载延迟模块的示例
Oct 12 Javascript
AngularJS实现的简单拖拽功能示例
Jan 02 Javascript
jQuery实现监听下拉框选中内容发生改变操作示例
Jul 13 jQuery
vue+axios+element ui 实现全局loading加载示例
Sep 11 Javascript
vue计算属性computed的使用方法示例
Mar 13 Javascript
vue cli3.0打包上线静态资源找不到路径的解决操作
Aug 03 Javascript
Ant Design Vue table中列超长显示...并加提示语的实例
Oct 31 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
国内咖啡文化
2021/03/03 咖啡文化
一段php加密解密的代码
2006/10/09 PHP
php上传图片到指定位置路径保存到数据库的具体实现
2013/12/30 PHP
WordPress中自定义后台管理界面配色方案的小技巧
2015/12/29 PHP
thinkPHP自动验证机制详解
2016/12/05 PHP
jQuery 选择器理解
2010/03/16 Javascript
基于jquery css3实现点击动画弹出表单源码特效
2015/08/31 Javascript
Jquery操作Ajax方法小结
2015/11/29 Javascript
js实现无缝循环滚动
2020/06/23 Javascript
JS 设置Cookie 有效期 检测cookie
2017/06/15 Javascript
nodejs+mongodb+vue前后台配置ueditor的示例代码
2018/01/02 NodeJs
Vue组件全局注册实现警告框的实例详解
2018/06/11 Javascript
vue 巧用过渡效果(小结)
2018/09/22 Javascript
微信运维交互机器人的示例代码
2018/11/12 Javascript
vue中子组件传递数据给父组件的讲解
2019/01/27 Javascript
ES6入门教程之let、const的使用方法
2019/04/13 Javascript
CKeditor4 字体颜色功能配置方法教程
2019/06/26 Javascript
JavaScript缓动动画函数的封装方法
2020/11/25 Javascript
linux下安装easy_install的方法
2013/02/10 Python
Python使用numpy实现BP神经网络
2018/03/10 Python
python协程之动态添加任务的方法
2019/02/19 Python
python多线程实现TCP服务端
2019/09/03 Python
python super的使用方法及实例详解
2019/09/25 Python
基于python cut和qcut的用法及区别详解
2019/11/22 Python
python argparse模块通过后台传递参数实例
2020/04/20 Python
CSS3 Notes: -webkit-box-reflect实现倒影的实例
2016/12/08 HTML / CSS
浅谈移动端网页图片预加载方案
2018/11/05 HTML / CSS
全球采购的街头服饰和帽子:Urban Excess
2020/10/28 全球购物
经销商培训邀请函
2014/01/21 职场文书
关于环保的建议书400字
2014/03/12 职场文书
签约仪式主持词
2014/03/19 职场文书
公司请假条范文
2014/04/11 职场文书
党的群众路线教育实践活动查摆问题及整改措施
2014/10/10 职场文书
村级干部党员公开承诺事项
2015/05/04 职场文书
导游词之塘栖古镇
2019/12/04 职场文书
mysql外连接与内连接查询的不同之处
2021/06/03 MySQL