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 27 Javascript
AJAX的跨域与JSONP(为文章自动添加短址的功能)
Jan 17 Javascript
javascript 用原型继承来实现对象系统
Mar 22 Javascript
JavaScript中json对象和string对象之间相互转化
Dec 26 Javascript
JS+CSS实现另类带提示效果的竖向导航菜单
Oct 15 Javascript
两种js监听滚轮事件的实现方法
May 13 Javascript
BootStrap.css 在手机端滑动时右侧出现空白的原因及解决办法
Jun 07 Javascript
新闻上下滚动jquery 超简洁(必看篇)
Jan 21 Javascript
input框中自动展示当前日期yyyy/mm/dd的实现方法
Jul 06 Javascript
Angular异步变同步处理方法
Aug 13 Javascript
vue中Element-ui 输入银行账号每四位加一个空格的实现代码
Sep 14 Javascript
解决vue路由name同名,路由重复的问题
Aug 05 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
Laravel如何使用数据库事务及捕获事务失败后的异常详解
2017/10/23 PHP
flexigrid 类似ext grid的JS表格代码
2010/07/17 Javascript
javascript中有趣的反柯里化深入分析
2012/12/05 Javascript
jQuery方法简洁实现隔行换色及toggleClass的使用
2013/03/15 Javascript
html5 canvas js(数字时钟)实例代码
2013/12/23 Javascript
对Jquery中的ajax再封装,简化操作示例
2014/02/12 Javascript
js使用正则实现ReplaceAll全部替换的方法
2014/08/22 Javascript
JavaScript中使用自然对数ln的方法
2015/06/14 Javascript
用户代理字符串userAgent可实现的四个识别
2015/09/20 Javascript
使用CoffeeScrip优美方式编写javascript代码
2015/10/28 Javascript
分享javascript、jquery实用代码段
2016/10/20 Javascript
js实现动态显示时间效果
2017/03/06 Javascript
vue源码解析之事件机制原理
2018/04/21 Javascript
支付宝小程序实现省市区三级联动
2020/06/21 Javascript
vue+elementUI动态增加表单项并添加验证的代码详解
2020/12/17 Vue.js
详解Python编程中time模块的使用
2015/11/20 Python
使用Python读写及压缩和解压缩文件的示例
2016/07/08 Python
为什么入门大数据选择Python而不是Java?
2018/03/07 Python
TensorFlow变量管理详解
2018/03/10 Python
Python爬虫实现简单的爬取有道翻译功能示例
2018/07/13 Python
python读出当前时间精度到秒的代码
2019/07/05 Python
使用python制作一个解压缩软件
2019/11/13 Python
pytorch forward两个参数实例
2020/01/17 Python
Pycharm创建文件时自动生成文件头注释(自定义设置作者日期)
2020/11/24 Python
中国领先的专业家电网购平台:国美在线
2016/12/25 全球购物
Guess美国官网:美国知名服装品牌
2019/04/08 全球购物
Hotels.com日本:国外和海外住宿,酒店预订
2019/12/13 全球购物
学生会主席事迹材料
2014/01/28 职场文书
演讲比赛策划方案
2014/06/11 职场文书
乡镇镇长个人整改措施
2014/10/01 职场文书
助学金感谢信
2015/01/20 职场文书
中考学习决心书
2015/02/04 职场文书
送达通知书
2015/04/25 职场文书
幼儿园元旦主持词
2015/07/06 职场文书
公司出差管理制度范本
2015/08/05 职场文书
Win10防火墙白名单怎么设置?Win10添加防火墙白名单方法
2022/04/06 数码科技