代码如下:
/*日期验证dd/mm/yyyy*/
functionisDate(str){
vardate=str;
varresult=date.match(/^([0]?[1-9]|[1|2][0-9]|[3][0|1])[/]([0]?[1-9]|[1][0-2])[/]([0-9]{4}|[0-9]{2})$/);
if(result==null)
returnfalse;
vard=newDate(result[3],result[2]-1,result[1]);
return(d.getFullYear()==result[3]&&(d.getMonth()+1)==result[2]&&d.getDate()==result[1]);
}
扩展资料
java用正则表达式判断输入的日期格式为yyyy/MM/dd
publicstaticvoidmain(String[]args)throwsParseException{
Stringstr1="2012-05-15";
Stringstr2="2012/05/15";
if(zzbd(str1)){
System.out.println("str1havematch!");
}else{System.out.println("str1don'tmatch!");}
if(zzbd(str2)){
System.out.println("str2havematch!");
}else{System.out.println("str2don'tmatch!");}}
publicstaticbooleanzzbd(Strings)
{
Patternpattern=Pattern.compile(\\d{4}/\\d{2}/\\d{2});
Matchermatcher=pattern.matcher(s);
if(matcher.find())
{
returntrue;
}else{
returnfalse;
}
}
}
来说,条件越多的正则表达式越严格,但表述起来也越麻烦,你可以根据需要选择不同的正则表达式去判别
只检查格式: \d{4}-\d{2}(-\d{2})?
简单的日期判定(比如说2000-02-30仍然通过判定): \d{4}-(((0[1-9])|(1[0-2])))(-((0[1-9])|([1-2][0-9])|(3[0-1])))?
比较严格的日期判定(但还是没有闰年2月29的判定): \d{4}-(((0(1|3|5|7|8))|(1(0|2)))(-((0[1-9])|([1-2][0-9])|(3[0-1])))?)|(((0(2|4|6|9))|(11))(-((0[1-9])|([1-2][0-9])|(30)))?)|((02)(-((0[1-9])|([1-2][0-9])))?)
严格的日期判定(包括闰年的判定): (\d{4}-(((0(1|3|5|7|8))|(1(0|2)))(-((0[1-9])|([1-2][0-9])|(3[0-1])))?)|(((0(2|4|6|9))|(11))(-((0[1-9])|([1-2][0-9])|(30)))?)|((02)(-((0[1-9])|(1[0-9])|(2[0-8])))?))|(((([0-9]{2})((0[48])|([2468][048])|([13579][26]))|(((0[48])|([2468][048])|([3579][26]))00)))-02-29)
谢谢咯
追答My pleasure,要是觉得满意,还请选为最佳答案,谢谢。
追问再请教下这个正则表达式 /^\d{1,3}(?:\.\d{1,3})?$/ 匹配可以为整数(若为整数,整数不能超过2位),也可以是小数(整数部分不能超过2位,小数部分也不超过2位)。。。(不考虑负数)。但是像02, 03.34这样也能通过哦,如何让第一位不为0 呢,当然0.23这样是允许的?
追答主提问:/^[1-9]\d{3}\/(0[1-9]|1[0-2])\/(0[1-9]|[1,2][0-9]|3[0,1])$/
追问:/^[1-9]?[0-9](\.[0-9][1-9]|\.[1-9])?$/
求一js正则表达式验证YYYY\/MM\/DD格式日期。
\/*日期验证dd\/mm\/yyyy*\/ functionisDate(str){ vardate=str;varresult=date.match(\/^([0]?[1-9]|[1|2][0-9]|[3][0|1])[\/]([0]?[1-9]|[1][0-2])[\/]([0-9]{4}|[0-9]{2})$\/);if(result==null)returnfalse;vard=newDate(result[3],result[2]-1,result[1]);...
javascript 正则表达式验证 MM\/dd\/yyyy 怎么写
表达式如下:^(20[01]\\d|1\\d{3}|0[1-9]\\d\\d|00[1-9]\\d|000\/d)\\\/(0[1-9]|1[0-2])\\\/(3[01]|[0-2]\\d)2. 年月日匹配宽度可变: 年份1-4位,月份1-2位,日1-2位 2010-2000 -- 20[01]\\d 1999-1000 -- 1\\d{3} 999-10 -- [1-9]\\d\\d?9-0 -- \\d 表达...
js正则表达式验证时间格式yyyy\/MM\/dd HH:mm
\/^\\d{4,}\\\/(?:0?\\d|1[12])\\\/(?:[012]?\\d|3[01]) (?:[01]?\\d|2[0-4]):(?:[0-5]?\\d|60)$\/.test('2015\/11\/3 12:24')
yyyy- mm- dd可以用正则表达式验证吗?
日期格式“yyyy-MM-dd”可以使用正则表达式“\\\\d{4}-\\d{\\1-\\12}-\\d{\\1-\\31}?”来验证。其中,“\\d{4}”代表4位0-9的数字,“\\d{\\1-\\12}”代表数字1-12,“\\d{\\1-\\31}”代表数字1-31。正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元...
如何让表单判断输入的是否为YYYY-MM-DD 格式?
如果不需要判定输入日期是否合法 可用此简单的正则表达式:<script language="javascript"> function check( str ) { var date = \/^\\d{4}(\\-|\\\/|\\.)\\d{1,2}\\1\\d{1,2}$\/ if(!date.test(str) && str!=""){ alert('please input as yyyy-mm-dd');document.all.test.value="";d...
...MM-dd日期格式的字符串变量,怎么用js正则表达式匹配出从2000-01...
var date0= new Date();date0.setFullYear(2000,01,01);var date1=new Date();date1.setFullYear(yyyy,MM,dd);iDays = parseInt(Math.abs(date1 -date0) \/ 1000 \/ 60 \/ 60 \/24);iDays就是相差的天数。
用正则表达式匹配日期和时间
\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2} \/\/标准的日期加时间 满意请采纳
js验证日期格式?yyyy-mm-dd 18:23 这种何解?越简单越好。谢谢可爱的你...
分两步,第一步是正则表达式验证,楼上的专家已经写出正则表达式了,我就不重复啦 第二步,创建一个date对象实例,然后把以上时间分割并转换为数字然后设置进去,然后比较一下字符串是不是相等。怎么切开字符串我就不写了,很容易的。时间比较的方法如下:var date = new Date();date.setFullYear(2013...
MM\/YYYY 正则表达式javascript
\/^(0[1-9])|(1[0-2])\\\/\\d{4}$\/以上正则表达式支持0000年1月到9999年12月
如何用正则表达式判断yyyy-mm-dd
比如 2009-12-33 也会被认为是合法。正确的正则表达式(包括测试代码):var str = '2009-12-33';if(str.match(\/^((?:19|20)\\d\\d)-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$\/)) { alert('是日期');} else { alert('不是日期');} ...