js⽤正则表达式筛选年⽉⽇的实例⽅法
当我们想要对⽇期进⾏筛选时,可以选择使⽤正则表达式的检索功能。这⾥涉及到正则表达式关于匹配的使⽤,本篇会就组匹配的基础知识带来分析和代码展⽰。再学会了正则表达式的匹配⽅法后,就筛选⽇期的⽅法进⾏过程介绍,下⾯⼀起来看看正则表达式的相关内容吧。
1.组匹配
正则表达式的括号表⽰分组匹配,括号中的模式可以⽤来匹配分组的内容。
/fred+/.test('fredd') // true
/(fred)+/.test('fredfred') // true
上⾯代码中,第⼀个模式没有括号,结果+只表⽰重复字母d,第⼆个模式有括号,结果+就表⽰匹配fred这个词。
正则表达式内部,还可以⽤\n引⽤括号匹配的内容,n是从1开始的⾃然数,表⽰对应顺序的括号。
var tagName = /<([^>]+)>[^<]*<\/\1>/;
<("<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( st("2017-06-10") );
js正则表达式数字和小数点// => 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]))$/;
st(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正则表达式筛选年⽉⽇内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!