javascript date 验证yyyy/MM/dd yyyy-MM-dd
2014-02-11 14:35
169 查看
//验证日期格式为 yyyy/MM/dd 或 yyyy-MM-dd
//验证日期格式为 yyyy/MM/dd
//验证日期格式为 yyyy-mm-dd 只需改 reg \/ 为 - split("/") 为 split("-");
function checkDate(theDate){
var reg = /^\d{4}\/((0{0,1}[1-9]{1})|(1[0-2]{1}))\/((0{0,1}[1-9]{1})|([1-2]{1}[0-9]{1})|(3[0-1]{1}))$/;
//小于10都需要加0
//var reg = /^\d{4}\/((0[1-9]{1})|(2[0-2]{1}))\/((0[1-9]{1})|([1-2]{1}[0-9]{1})|(3[0-1]{1}))$/;
var reg2 = /^\d{4}-((0{0,1}[1-9]{1})|(1[0-2]{1}))-((0{0,1}[1-9]{1})|([1-2]{1}[0-9]{1})|(3[0-1]{1}))$/;
var result=true;
if(!reg.test(theDate) && !reg2.test(theDate))
result = false;
else{
// var arr_hd=theDate.split("/");
var arr_hd;
if(theDate.indexOf("/") != -1){
arr_hd=theDate.split("/");
}else if(theDate.indexOf("-") != -1){
arr_hd=theDate.split("-");
}
var dateTmp;
dateTmp= new Date(arr_hd[0],parseFloat(arr_hd[1])-1,parseFloat(arr_hd[2]));
//alert(arr_hd[0]+" "+parseFloat(arr_hd[1])-1 +" "+parseFloat(arr_hd[2]));
// alert("dateTmp: "+dateTmp);
if(dateTmp.getFullYear()!=parseFloat(arr_hd[0])
|| dateTmp.getMonth()!=parseFloat(arr_hd[1]) -1
|| dateTmp.getDate()!=parseFloat(arr_hd[2])){
result = false
}
}
return result;
}
//alert("checkresult: "+checkDate("2001/05/30"));
var a="2010-8-9";
// alert("replace method: "+a.replace(/-/g, "/"));
//a=a.replace(/-/g,"/");
//alert(a);
//将日期 2010-8-9转换为 2010-08-09
if(a.indexOf("-") != -1){
var ab = a.split("-", 3);
for(var i =0; i<ab.length;i++ ){
if(ab[i].length<2){
ab[i]="0"+ab[i];
}
}
// alert(ab.join("/"));//转换日期为 2010/08/09
}
function checkDate2(inputDateObj){
// alert(inputDate);
var inputDate = inputDateObj.value;
if(checkDate(inputDate)){
inputDateObj.style.border="";
if(inputDate.indexOf("-") !=-1){
inputDate = inputDate.replace(/-/g,'/');
}
var inputdate = inputDate.split("/",3);
for(var i = 0; i< inputdate.length; i++ ){
if(inputdate[i].length<2){
inputdate[i]="0"+inputdate[i];
}
}
// alert(inputdate.join("/"));
}else{
inputDateObj.style.border="solid 2px red";
inputDateObj.focus();
}
}
//验证日期格式为 yyyy/MM/dd 或 yyyy-MM-dd
//验证日期格式为 yyyy/MM/dd
//验证日期格式为 yyyy-mm-dd 只需改 reg \/ 为 - split("/") 为 split("-");
function checkDate(theDate){
var reg = /^\d{4}\/((0{0,1}[1-9]{1})|(1[0-2]{1}))\/((0{0,1}[1-9]{1})|([1-2]{1}[0-9]{1})|(3[0-1]{1}))$/;
//小于10都需要加0
//var reg = /^\d{4}\/((0[1-9]{1})|(2[0-2]{1}))\/((0[1-9]{1})|([1-2]{1}[0-9]{1})|(3[0-1]{1}))$/;
var reg2 = /^\d{4}-((0{0,1}[1-9]{1})|(1[0-2]{1}))-((0{0,1}[1-9]{1})|([1-2]{1}[0-9]{1})|(3[0-1]{1}))$/;
var result=true;
if(!reg.test(theDate) && !reg2.test(theDate))
result = false;
else{
// var arr_hd=theDate.split("/");
var arr_hd;
if(theDate.indexOf("/") != -1){
arr_hd=theDate.split("/");
}else if(theDate.indexOf("-") != -1){
arr_hd=theDate.split("-");
}
var dateTmp;
dateTmp= new Date(arr_hd[0],parseFloat(arr_hd[1])-1,parseFloat(arr_hd[2]));
//alert(arr_hd[0]+" "+parseFloat(arr_hd[1])-1 +" "+parseFloat(arr_hd[2]));
// alert("dateTmp: "+dateTmp);
if(dateTmp.getFullYear()!=parseFloat(arr_hd[0])
|| dateTmp.getMonth()!=parseFloat(arr_hd[1]) -1
|| dateTmp.getDate()!=parseFloat(arr_hd[2])){
result = false
}
}
return result;
}
//alert("checkresult: "+checkDate("2001/05/30"));
var a="2010-8-9";
// alert("replace method: "+a.replace(/-/g, "/"));
//a=a.replace(/-/g,"/");
//alert(a);
//将日期 2010-8-9转换为 2010-08-09
if(a.indexOf("-") != -1){
var ab = a.split("-", 3);
for(var i =0; i<ab.length;i++ ){
if(ab[i].length<2){
ab[i]="0"+ab[i];
}
}
// alert(ab.join("/"));//转换日期为 2010/08/09
}
function checkDate2(inputDateObj){
// alert(inputDate);
var inputDate = inputDateObj.value;
if(checkDate(inputDate)){
inputDateObj.style.border="";
if(inputDate.indexOf("-") !=-1){
inputDate = inputDate.replace(/-/g,'/');
}
var inputdate = inputDate.split("/",3);
for(var i = 0; i< inputdate.length; i++ ){
if(inputdate[i].length<2){
inputdate[i]="0"+inputdate[i];
}
}
// alert(inputdate.join("/"));
}else{
inputDateObj.style.border="solid 2px red";
inputDateObj.focus();
}
}
相关文章推荐
- JavaScript Date Format yyyy-mm-dd JavaScript日期格式化
- javascript验证日期是否yyyy-MM-dd格式
- 数据绑定-将时间戳转换为Date类型yyyy-MM-dd
- JS验证日期的格式YYYY-mm-dd 具体实现
- 验证日期满足 yyyy-MM-dd
- 日期验证正规表达式( YYYY-MM-DD YYYY-MM-DD hh:mm:ss YYYY/MM/DD)
- js 日期格式转换(date--> yyyy-MM-dd)
- 使用js把 java date类型转换yyyy-MM-dd
- to_date(to_char(sysdate,'YYYY-MM-DD ')
- js 字符串日期 yyyy-MM-dd 转化为 date
- 在EL表达式或者Struts标签库中格式化日期对象,即将Date转换为yyyy-MM-dd格式
- 验证日期满足 yyyy-MM-dd
- 验证时间格式YYYY-MM-DD
- asp.net 如何验证yyyy-mm-dd格式的日期
- Android工具类,一些方法电话正则,是否为空,日期格式化,星期,车牌,身份证校验,设置地区编码,验证日期字符串是否是YYYY-MM-DD格式,判断字符串是否为数字
- json中string类型的datetime格式转换为datetime类型:例string类型"/Date(1242357713797+0800)/" 转为datetime类型"yyyy-MM-dd"
- Java获取格式为yyyy-MM-dd的Date时间
- js 字符串日期 yyyy-MM-dd 转化为 date
- 时间戳格式化转换为日期格式,date.Format('yyyy/MM/dd hh:mm:ss')
- 验证输入日期类型是否正确 (YYYY-MM-DD)