`
orcl_zhang
  • 浏览: 244607 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

IsDate() in JavaScript?

阅读更多
原帖地址:http://www.codetoad.com/forum/17_10053.asp
我筛选了,大致的方法有以下几个。
function myIsDate(mystring)
{//--BOF 
var mystring, myresult ;
var mystring = new Date(mystring);
isNaN(mystring)? myresult=false : myresult=true ;
return myresult ;
//--EOF
}
//我的测试
  alert(IsDate('2009/10/10'));  //true
  alert(IsDate('2010/07/00'));  //true
  alert(IsDate('2009/02/30'));  //true
  alert(IsDate('200k/10/10'));  //false
  alert(IsDate('2009/13/10'));  //true
  alert(IsDate('200k-10-10'));  //false
//失败

function isDate (value)
{
return (!isNaN (new Date (value).getYear () ) ) ;
}
//我的测试
  alert(IsDate('2009/10/10'));  //true
  alert(IsDate('2010/07/00'));  //true
  alert(IsDate('2009/02/30'));  //true
  alert(IsDate('200k/10/10'));  //false
  alert(IsDate('2009/13/10'));  //true
  alert(IsDate('200k-10-10'));  //false
//失败

// 这个可以,稍微改改,加上匹配'2010-01-10'就好了。
// ******************************************************************
// This function accepts a string variable and verifies if it is a
// proper date or not. It validates format matching either
// mm-dd-yyyy or mm/dd/yyyy. Then it checks to make sure the month
// has the proper number of days, based on which month it is.

// The function returns true if a valid date, false if not.
// ******************************************************************

function isDate(dateStr) {

var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
var matchArray = dateStr.match(datePat); // is the format ok?

if (matchArray == null) {
alert("Please enter date as either mm/dd/yyyy or mm-dd-yyyy.");
return false;
}

month = matchArray[1]; // p@rse date into variables
day = matchArray[3];
year = matchArray[5];

if (month < 1 || month > 12) { // check month range
alert("Month must be between 1 and 12.");
return false;
}

if (day < 1 || day > 31) {
alert("Day must be between 1 and 31.");
return false;
}

if ((month==4 || month==6 || month==9 || month==11) && day==31) {
alert("Month "+month+" doesn`t have 31 days!")
return false;
}

if (month == 2) { // check for february 29th
var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
if (day > 29 || (day==29 && !isleap)) {
alert("February " + year + " doesn`t have " + day + " days!");
return false;
}
}
return true; // date is valid
}

function IsDate(dateval){
    var arr = new Array();

    if(dateval.indexOf("-") != -1){
        arr = dateval.toString().split("-");
    }else if(dateval.indexOf("/") != -1){
        arr = dateval.toString().split("/");
    }else{
        return false;
    }

    //yyyy-mm-dd || yyyy/mm/dd
    if(arr[0].length==4){
        var date = new Date(arr[0],arr[1]-1,arr[2]);
        if(date.getFullYear()==arr[0] && date.getMonth()==arr[1]-1 && date.getDate()==arr[2]){
            return true;
        }
    }
    //dd-mm-yyyy || dd/mm/yyyy
    if(arr[2].length==4){
        var date = new Date(arr[2],arr[1]-1,arr[0]);
        if(date.getFullYear()==arr[2] && date.getMonth()==arr[1]-1 && date.getDate()==arr[0]){
            return true;
        }
    }
    //mm-dd-yyyy || mm/dd/yyyy
    if(arr[2].length==4){
        var date = new Date(arr[2],arr[0]-1,arr[1]);
        if(date.getFullYear()==arr[2] && date.getMonth()==arr[0]-1 && date.getDate()==arr[1]){
            return true;
        }
    }

    return false;
}
  alert(IsDate('2009/10/10'));  //true
  alert(IsDate('2010/07/00'));  //false
  alert(IsDate('2009/02/30'));  //false
  alert(IsDate('200k/10/10'));  //false
  alert(IsDate('2009/13/10'));  //false
  alert(IsDate('200k-10-10'));  //false
  alert(IsDate('2000-02-29'))   //true
  alert(IsDate('2100-02-29'))   //true
//就是你了

//匹配//yyyy-mm-dd || yyyy/mm/dd  
function isDate(str) 
{ 
var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/); 
if(r==null)return false; var d = new Date(r[1], r[3]-1, r[4]); 
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]); 
} 
//这个也行!
分享到:
评论

相关推荐

    JavaScript版的DateAdd、DateDiff、IsDate函数

    以上就是JavaScript版的DateAdd、DateDiff和IsDate函数的基本实现。这些自定义函数可以方便地在JavaScript环境中处理日期和时间的操作,尤其是在不支持ES6及以上版本的浏览器中,它们能提供类似.NET和VBScript的日期...

    postgresql的类似sqlserver的isdate方法

    - `CREATE OR REPLACE FUNCTION isdate(in_date text)`:此行声明了一个名为`isdate`的新函数,该函数接受一个文本类型的参数`in_date`。 - `RETURNS integer`:指明函数返回类型为整型(integer)。 2. **函数体**...

    在b、s开发中经常用到的javaScript技术.txt

    根据提供的文件信息,我们可以归纳...通过以上总结,我们可以看到在B/S架构的开发中,JavaScript提供了强大的功能,不仅能够处理各种数据验证逻辑,还可以实现对用户输入的有效控制,从而提高系统的稳定性和用户体验。

    vb IsDate判断字符串是否为日期或时间.rar

    vb 判断字符串是否为日期或时间,在输入框输入任意字符串类型,程序将会判断出该字符串是否是时间字符串,这个判断方法VB员自带有函数,使用IsDate即可实现,下面是使用IsDate的简单用法示例:  If IsDate(Text1) =...

    Javascript判断用户输入的合法性的函数

    function isDate(theStr) { var the1st = theStr.indexOf("-"); var the2nd = theStr.lastIndexOf("-"); if (the1st === the2nd) { return false; } else { var y = theStr.substring(0, the1st); var m = ...

    【JavaScript源代码】JavaScript中的50+个实用工具函数小结.docx

    在JavaScript编程中,掌握一些实用的工具函数可以显著提高开发效率和代码质量。本文将介绍超过50个这样的工具函数,这些函数涵盖了数据类型的检查、对象的验证以及其他辅助功能。 1. `isStatic` 函数用于检测一个值...

    几个Javascript的小工具

    函数`isDate(dateVal)`用于验证一个值是否可以转换为日期对象。首先,它将输入的日期字符串(通常格式为"yyyy-mm-dd")中的连字符替换为斜杠,然后尝试创建一个新的Date对象。如果创建成功,返回`true`,否则返回`...

    javascript的判断方法有效验证

    根据提供的文件信息,我们可以归纳出一系列与JavaScript相关的验证方法,这些方法主要针对常见的数据格式进行有效性检查。下面将详细介绍每个函数的功能、实现逻辑及其应用场景。 ### 1. 判断变量是否为空 (IsNull)...

    最全的javascript验证函数

    - `isDate`: 验证输入的日期格式是否正确。 - `isPastDate` 和 `isFutureDate`: 检查日期是否在当前之前或之后。 6. **自定义验证** - 通过编写自定义函数,可以实现特定业务场景下的验证需求,例如检查输入是否...

    javascript 验证日期的函数

    导致数据库跑任务出现... javascript代码 代码如下: //判断日期是否合法 function IsDate(oTextbox) { var regex = new RegExp(“^(?:(?:([0-9]{4}(-|\/)(?:(?:0?[1,3-9]|1[0-2])(-|\/)(?:29|30)|((?:0?[13578]|1[02])

    用户注册页面代码javascript验证宣贯.pdf

    - **isDate(birthday)** 用于验证生日字段的格式是否正确。虽然具体的实现代码未给出,但通常需要检查日期是否符合预设格式(如YYYY-MM-DD)。 - 示例:如果生日格式不正确,则弹出警告框提示用户。 - **isEmail...

    javascript数据类型验证方法

    在JavaScript中,数据类型验证是一个非常基础且重要的知识点,对于初学者和经验丰富的开发者来说,能够准确地识别变量的数据类型是非常有帮助的。本文将详细阐述JavaScript中各种数据类型的验证方法,以及自定义验证...

    最全的JavaScript表单验证

    `isDate`函数验证输入的字符串是否符合日期格式(如"2010-5-16")。它首先检查字符串是否为空,然后使用正则表达式匹配日期格式,接着创建`Date`对象。如果格式正确,返回`true`,否则返回`false`。 4. **字母数字...

    判断javascript的数据类型(示例代码)

    在JavaScript中,数据类型是编程时需要特别注意的一个方面。不同的数据类型有不同的属性和方法,正确地判断数据类型可以帮助我们更好地进行错误处理、功能实现和性能优化。下面将详细介绍如何在JavaScript中判断各种...

    javascript中如何判断类型汇总

    function isDate(value) { return value instanceof Date; } function isMap(value) { return value instanceof Map; } function isSet(value) { return value instanceof Set; } function isPromise...

    js常用函数.pdf

    另一个函数`isDate`用来检查字符串是否为一个有效的日期格式。它首先确定字符串中是否存在两个连字符(-),然后通过调用`isBetween`函数检查日期部分是否在合理的范围内。如果字符串包含两个连字符且日期部分有效,...

    超实用的JavaScript代码段 附使用方法

    JavaScript的解释器通常嵌入在浏览器中,被称为JavaScript引擎,使得JavaScript成为客户端脚本语言中的主流。本文将介绍一些实用的JavaScript代码段及其应用方法。 第一个实用的JavaScript代码段是用于判断日期是否...

    前端开源库-isa.js

    `IsDate()` 函数用于检查一个值是否是JavaScript的Date对象。这对于处理日期相关的操作特别有用,确保我们不会误将其他类型的值当作日期处理。 ### 二、类型检查的重要性 在JavaScript中,由于其动态类型特性,...

Global site tag (gtag.js) - Google Analytics