利用javascript验证输入框中的值是否为日期格式
代码
function IsNotDate(Dateobj){
var theDateobj= Dateobj ; //document.getElementById(objID).value;
if (IsDate(theDateobj.value)== true){
return false;
}
else{
return true;
}
}
function IsDate( strdate ){
if(strdate != ""){
strdate = strdate.replace("-", "/");
strdate = strdate.replace("-", "/"); // 用正则可替换多个~
strdate = strdate.replace(".", "/");
strdate = strdate.replace(".", "/");
strdate = strdate.replace("/0", "/");
strdate = strdate.replace("/0", "/");
var strdateArray = strdate.split("/");
if ((strdateArray[0].length !=4)||(strdate.length ==0)){
return false
}
var oDate = new Date(strdate);
var strYear = new String(oDate.getFullYear());
var strMonth = new String(oDate.getMonth() + 1);
var strDay = new String(oDate.getDate());
var strTestDate = strYear + "/" + strMonth + "/" + strDay;
return strdate == strTestDate;
}
else{
return true; //这里不做空的检查
}
}
function compareDate(DateOne,DateTwo,Type){
//"Type" for "=".
var OneMonth = DateOne.substring(5,DateOne.lastIndexOf ("-"));
var OneDay = DateOne.substring(DateOne.length,DateOne.lastIndexOf ("-")+1);
var OneYear = DateOne.substring(0,DateOne.indexOf ("-"));
var TwoMonth = DateTwo.substring(5,DateTwo.lastIndexOf ("-"));
var TwoDay = DateTwo.substring(DateTwo.length,DateTwo.lastIndexOf ("-")+1);
var TwoYear = DateTwo.substring(0,DateTwo.indexOf ("-"));
if (Type=="TCK"){
if (Date.parse(OneMonth+"/"+OneDay+"/"+OneYear) <= Date.parse(TwoMonth+"/"+TwoDay+"/"+TwoYear)){
return true;
}
else{
return false;
}
}
else{
if (Date.parse(OneMonth+"/"+OneDay+"/"+OneYear) < Date.parse(TwoMonth+"/"+TwoDay+"/"+TwoYear)){
return true;
}
else{
return false;
}
}
}
var theDateobj= Dateobj ; //document.getElementById(objID).value;
if (IsDate(theDateobj.value)== true){
return false;
}
else{
return true;
}
}
function IsDate( strdate ){
if(strdate != ""){
strdate = strdate.replace("-", "/");
strdate = strdate.replace("-", "/"); // 用正则可替换多个~
strdate = strdate.replace(".", "/");
strdate = strdate.replace(".", "/");
strdate = strdate.replace("/0", "/");
strdate = strdate.replace("/0", "/");
var strdateArray = strdate.split("/");
if ((strdateArray[0].length !=4)||(strdate.length ==0)){
return false
}
var oDate = new Date(strdate);
var strYear = new String(oDate.getFullYear());
var strMonth = new String(oDate.getMonth() + 1);
var strDay = new String(oDate.getDate());
var strTestDate = strYear + "/" + strMonth + "/" + strDay;
return strdate == strTestDate;
}
else{
return true; //这里不做空的检查
}
}
function compareDate(DateOne,DateTwo,Type){
//"Type" for "=".
var OneMonth = DateOne.substring(5,DateOne.lastIndexOf ("-"));
var OneDay = DateOne.substring(DateOne.length,DateOne.lastIndexOf ("-")+1);
var OneYear = DateOne.substring(0,DateOne.indexOf ("-"));
var TwoMonth = DateTwo.substring(5,DateTwo.lastIndexOf ("-"));
var TwoDay = DateTwo.substring(DateTwo.length,DateTwo.lastIndexOf ("-")+1);
var TwoYear = DateTwo.substring(0,DateTwo.indexOf ("-"));
if (Type=="TCK"){
if (Date.parse(OneMonth+"/"+OneDay+"/"+OneYear) <= Date.parse(TwoMonth+"/"+TwoDay+"/"+TwoYear)){
return true;
}
else{
return false;
}
}
else{
if (Date.parse(OneMonth+"/"+OneDay+"/"+OneYear) < Date.parse(TwoMonth+"/"+TwoDay+"/"+TwoYear)){
return true;
}
else{
return false;
}
}
}
================================
1、判断是否为年月日时间格式
代码<script>
//去除字符串首尾空格
String.prototype.trim = function()
{
return this.replace(/(^\s*)|(\s*$)/g, "");
}
//验证是否为日期
function validator(){
if(isDate(document.all.demo1.value.trim())==false){
document.all.demo1.select();
return false;
}
}
/**
判断输入框中输入的日期格式是否为 yyyy-mm-dd 或yyyy-m-d
*/
function isDate(dateString){
if(dateString.trim()=="")return true;
//年月日正则表达式
var r=dateString.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
if(r==null){
alert("请输入格式正确的日期\n\r日期格式:yyyy-mm-dd\n\r例 如:2008-08-08\n\r");
return false;
}
var d=new Date(r[1],r[3]-1,r[4]);
var num = (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
if(num==0){
alert("请输入格式正确的日期\n\r日期格式:yyyy-mm-dd\n\r例 如:2008-08-08\n\r");
}
return (num!=0);
}
</script>
//去除字符串首尾空格
String.prototype.trim = function()
{
return this.replace(/(^\s*)|(\s*$)/g, "");
}
//验证是否为日期
function validator(){
if(isDate(document.all.demo1.value.trim())==false){
document.all.demo1.select();
return false;
}
}
/**
判断输入框中输入的日期格式是否为 yyyy-mm-dd 或yyyy-m-d
*/
function isDate(dateString){
if(dateString.trim()=="")return true;
//年月日正则表达式
var r=dateString.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
if(r==null){
alert("请输入格式正确的日期\n\r日期格式:yyyy-mm-dd\n\r例 如:2008-08-08\n\r");
return false;
}
var d=new Date(r[1],r[3]-1,r[4]);
var num = (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
if(num==0){
alert("请输入格式正确的日期\n\r日期格式:yyyy-mm-dd\n\r例 如:2008-08-08\n\r");
}
return (num!=0);
}
</script>
测试是否为年月日时间格式
<input type='text' name='demo1' >
<br>
<input type='button' name='demo2' value="确定" onclick="validator()" >
<input type='text' name='demo1' >
<br>
<input type='button' name='demo2' value="确定" onclick="validator()" >
以上代码实现了验证年月日
2、判断是否为年月日时分秒时间格式
代码<script>
//去除字符串首尾空格
String.prototype.trim = function()
{
return this.replace(/(^\s*)|(\s*$)/g, "");
}
//验证是否为日期
function validator(){
if(isDate(document.all.demo1.value.trim())==false){
document.all.demo1.select();
return false;
}
}
/**
判断输入框中输入的日期格式是否为年月日时分秒 即 yyyy-mm-dd hh:mi:ss
*/
function isDate(dateString){
if(dateString.trim()=="")return true;
//年月日时分秒正则表达式
var r=dateString.match(/^(\d{1,4})\-(\d{1,2})\-(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/);
if(r==null){
alert("请输入格式正确的日期\n\r日期格式:yyyy-mm-dd\n\r例 如:2008-08-08\n\r");
return false;
}
var d=new Date(r[1],r[2]-1,r[3],r[4],r[5],r[6]);
var num = (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[2]&&d.getDate()==r[3]&&d.getHours()==r[4]&&d.getMinutes()==r[5]&&d.getSeconds()==r[6]);
if(num==0){
alert("请输入格式正确的日期\n\r日期格式:yyyy-mm-dd\n\r例 如:2008-08-08\n\r");
}
return (num!=0);
}
</script>
//去除字符串首尾空格
String.prototype.trim = function()
{
return this.replace(/(^\s*)|(\s*$)/g, "");
}
//验证是否为日期
function validator(){
if(isDate(document.all.demo1.value.trim())==false){
document.all.demo1.select();
return false;
}
}
/**
判断输入框中输入的日期格式是否为年月日时分秒 即 yyyy-mm-dd hh:mi:ss
*/
function isDate(dateString){
if(dateString.trim()=="")return true;
//年月日时分秒正则表达式
var r=dateString.match(/^(\d{1,4})\-(\d{1,2})\-(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/);
if(r==null){
alert("请输入格式正确的日期\n\r日期格式:yyyy-mm-dd\n\r例 如:2008-08-08\n\r");
return false;
}
var d=new Date(r[1],r[2]-1,r[3],r[4],r[5],r[6]);
var num = (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[2]&&d.getDate()==r[3]&&d.getHours()==r[4]&&d.getMinutes()==r[5]&&d.getSeconds()==r[6]);
if(num==0){
alert("请输入格式正确的日期\n\r日期格式:yyyy-mm-dd\n\r例 如:2008-08-08\n\r");
}
return (num!=0);
}
</script>
测试是否为年月日,时分秒的格式
<input type='text' name='demo1' >
<br>
<input type='button' name='demo2' value="确定" onclick="validator()" >
<br>
<input type='button' name='demo2' value="确定" onclick="validator()" >
=================================================================
js常用的日期格式验证函数
代码// Function Description: 判断输入是否是有效的时间格式 - "HH:MM:SS"
String.prototype.isValidTime=function()
{
var result=this.match(/^(\d{1,2})(:)?(\d{1,2})2(\d{1,2})$/);
if (result==null) return false;
if (result[1]>24 || result[3]>60 || result[4]>60) return false;
return true;
}
// Function Description: validate - "HH:MM"
var a = str.match(/^(\d{1,2})(:)?(\d{1,2})$/);
if (a == null)
{
alert("输入时间格式有误");
return false;
}
if (a[1]>24||a[3]>60)
{
alert("输入时间格式有误!");
return false;
}
String.prototype.isValidTime=function()
{
var result=this.match(/^(\d{1,2})(:)?(\d{1,2})2(\d{1,2})$/);
if (result==null) return false;
if (result[1]>24 || result[3]>60 || result[4]>60) return false;
return true;
}
// Function Description: validate - "HH:MM"
var a = str.match(/^(\d{1,2})(:)?(\d{1,2})$/);
if (a == null)
{
alert("输入时间格式有误");
return false;
}
if (a[1]>24||a[3]>60)
{
alert("输入时间格式有误!");
return false;
}
String.prototype.isValidDate=function()
{
var result=this.match(/^(d{1,4})(-|/)(d{1,2})2(d{1,2})$/); if(result==null) returnfalse;
var d=new Date(result[1], result[3]-1, result[4]);
return (d.getFullYear()==result[1]&&d.getMonth()+1==result[3]&&d.getDate()==result[4]);
}

浙公网安备 33010602011771号