原帖地址: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]);
}
//这个也行!
分享到:
相关推荐
这里主要介绍我自己所写的利用构建在jQuery之上的工具库,该库的原文件名为...isInRange: 是否在某一个范围内 isValidPattern: 是否满足给定的正则表达式 validateFormItem: 执行表单项验证, 必须与jQuery一起结合使用
foreach (string str in bw) { if (badword.IndexOf(str) > -1) { isok = true; return isok; } } return isok; } private string[] strbadword() { string[] bad = new string[15]; // 初始化特殊...
isDate 检查值是否为Date 。contains 检查str是否包含在值中。equals 检查值是否等于str 。matches 检查值是否与正则表达式pattern匹配。isIn 检查该值是否在数组arr 。isLength 检查值长度是否在min和max之间。 ...
通过在JSP页面中使用特定的标签,可以生成JavaScript代码,实现在数据提交前的即时验证,提高用户体验。 #### 结语 Struts Validator作为Struts框架的强大组件,不仅简化了数据验证的实现,而且增强了应用程序的...
- **解释**: ASP.NET 依赖于 .NET Framework,使用面向对象语言提高了执行效率,并且不使用 JavaScript 作为编程语言。 #### 14. 删除表中数据的方法 - **知识点**: 删除数据库表中记录的正确操作方法。 - **解释...