如何用脚本判断用户输入的的字符串是下面的时间格式2004-11-21 必须要保证用户的输入是此格式,并且是时间,比如说月份不大于12等等,另外我需要用户输入两个,并且后一个要比前一个晚,只允许用JAVASCRIPT,请详细帮助作答,
提示:可用正则表达式提前判断一下格式,然后提取各时间字段内容
完成方法:
首先要在Eclipse中配置apache的tomcat服务器,能够测试网页内容
再Eclipse中创建 dynamic web project项目
项目中创建一个html文件index.html
其中实现日期格式的判定,使用的是正则表达式 /^\d{4}-(0?[1-9]|1[0-2])-(0?[1-9]|[1-2]\d|3[0-1])$/
/ ... / 表示js中的字符串开始,相当于java中的 “”
^ 表示正则开始 以\d{4}开始 表示以4个数字开头
- 表示其本身 -
(0?[1-9]|1[0-2]) 0?表示有0个或1个0 [1-9]表示1到9中的某个数 | 表示或者 \d表示一个数字 3[0-1]表示30或31
index.html代码如下,当中包含js脚本 窗口载入即调入此脚本,点击submit即调用相应函数
Insert title herealert("窗口载入..");
document.getElementById("form1").οnsubmit=function(){//此处通过id找到网页元素,该网页元素提交即调用函数
alert("点击提交即调用函数......");
var d1=this.d1.value; //此处通过id和name都可以找到
var d2=this.d2.value;if(!verifyDate(d1)){
alert("核实结果,第一个日期格式不对");return false;
}if(!verifyDate(d2)){
alert("核实结果,第二个日期格式不对");return false;
}if(compareDate(d1,d2)){
alert("第二个日期大于第一个");return false;
}else{
alert("第二个日期小于第一个");return false;
}
};
}
function verifyDate(d){
var datePattern=/^\d{4}-(0?[1-9]|1[0-2])-(0?[1-9]|[1-2]\d|3[0-1])$/;returndatePattern.test(d);
}
function compareDate(d1,d2){
var arrayD1=d1.split("-");
var arrayD2=d2.split("-");
var date1=new Date(arrayD1[0],arrayD1[1],arrayD1[2]);
var date2=new Date(arrayD2[0],arrayD2[1],arrayD2[2]);if(date2>date1){return true;
}else{return false;
}
}