当前位置: 技术问答>java相关
在ASP 中用JAVASCRIPT 怎么判断表单输入的日期是否正确?
来源: 互联网 发布时间:2014-12-27
本文导语: | 专栏:Java、EJB & JSP 文章编号:1201 文章类别: 原创 作者: 何志强 加贴时间:2000-8-9 18:07:17 JavaScript中如何判断一个字符串是否为合法日期 关键词:Java, JSP /* 作者:何志强[hhzqq@21cn.com] 日期:2000-08-09 版本:...
|
专栏:Java、EJB & JSP 文章编号:1201 文章类别: 原创 作者: 何志强 加贴时间:2000-8-9 18:07:17
JavaScript中如何判断一个字符串是否为合法日期
关键词:Java, JSP
/*
作者:何志强[hhzqq@21cn.com]
日期:2000-08-09
版本:1.0
功能:判断一个字符串是否为合法日期
*/
//日期格式:YYYY-MM-DD
function isdate(strDate){
var strSeparator = "-"; //日期分隔符
var strDateArray;
var intYear;
var intMonth;
var intDay;
var boolLeapYear;
strDateArray = strDate.split(strSeparator);
if(strDateArray.length!=3) return false;
intYear = parseInt(strDateArray[0],10);
intMonth = parseInt(strDateArray[1],10);
intDay = parseInt(strDateArray[2],10);
if(isNaN(intYear)||isNaN(intMonth)||isNaN(intDay)) return false;
if(intMonth>12||intMonth31||intDay30||intDay28) return false;
}
}
return true;
}
--------------------------------------------------------------------------------
欢迎阅读China ASP的专栏文章,需要转载请与我们联系
Copyright ? 上海聚声计算机系统工程有限责任公司 1999-2000, All Rights Reserved
|
看看正则表达式吧,很有用。
/*******************************************************************************
FILE: RegExpValidate.js
DESCRIPTION: This file contains a library of validation functions
using javascript regular expressions. Library also contains functions that re-
format fields for display or for storage.
VALIDATION FUNCTIONS:
validateEmail - checks format of email address
validateUSPhone - checks format of US phone number
validateNumeric - checks for valid numeric value
validateInteger - checks for valid integer value
validateNotEmpty - checks for blank form field
validateUSZip - checks for valid US zip code
validateUSDate - checks for valid date in US format
validateValue - checks a string against supplied pattern
FORMAT FUNCTIONS:
rightTrim - removes trailing spaces from a string
leftTrim - removes leading spaces from a string
trimAll - removes leading and trailing spaces from a string
removeCurrency - removes currency formatting characters (), $
addCurrency - inserts currency formatting characters
removeCommas - removes comma separators from a number
addCommas - adds comma separators to a number
removeCharacters - removes characters from a string that match passed pattern
AUTHOR: Karen Gayda
DATE: 03/24/2000
*******************************************************************************/
function validateEmail( strValue) {
/************************************************
DESCRIPTION: Validates that a string contains a
valid email pattern.
PARAMETERS:
strValue - String to be tested for validity
RETURNS:
True if valid, otherwise false.
REMARKS: Accounts for email with country appended
does not validate that email contains valid URL
type (.com, .gov, etc.) or valid country suffix.
*************************************************/
var objRegExp = /(^[a-z]([a-z_.]*)@([a-z_.]*)([.][a-z]{3})$)|(^[a-z]([a-z_.]*)@([a-z_.]*)(.[a-z]{3})(.[a-z]{2})*$)/i;
//check for valid email
return objRegExp.test(strValue);
}
function validateUSPhone( strValue ) {
/************************************************
DESCRIPTION: Validates that a string contains valid
US phone pattern.
Ex. (999) 999-9999 or (999)999-9999
PARAMETERS:
strValue - String to be tested for validity
RETURNS:
True if valid, otherwise false.
*************************************************/
var objRegExp = /^([1-9]d{2})s?d{3}-d{4}$/;
//check for valid us phone with or without space between
//area code
return objRegExp.test(strValue);
}
function validateNumeric( strValue ) {
/******************************************************************************
DESCRIPTION: Validates that a string contains only valid numbers.
PARAMETERS:
strValue - String to be tested for validity
RETURNS:
True if valid, otherwise false.
******************************************************************************/
var objRegExp = /(^-?dd*.d*$)|(^-?dd*$)|(^-?.dd*$)/;
//check for numeric characters
return objRegExp.test(strValue);
}
function validateInteger( strValue ) {
/************************************************
DESCRIPTION: Validates that a string contains only
valid integer number.
PARAMETERS:
strValue - String to be tested for validity
RETURNS:
True if valid, otherwise false.
******************************************************************************/
var objRegExp = /(^-?dd*$)/;
//check for integer characters
return objRegExp.test(strValue);
}
function validateNotEmpty( strValue ) {
/************************************************
DESCRIPTION: Validates that a string is not all
blank (whitespace) characters.
PARAMETERS:
strValue - String to be tested for validity
RETURNS:
True if valid, otherwise false.
*************************************************/
var strTemp = strValue;
strTemp = trimAll(strTemp);
if(strTemp.length > 0){
return true;
}
return false;
}
function validateUSZip( strValue ) {
/************************************************
DESCRIPTION: Validates that a string a United
States zip code in 5 digit format or zip+4
format. 99999 or 99999-9999
PARAMETERS:
strValue - String to be tested for validity
RETURNS:
True if valid, otherwise false.
*************************************************/
var objRegExp = /(^d{5}$)|(^d{5}-d{4}$)/;
//check for valid US Zipcode
return objRegExp.test(strValue);
}
function validateUSDate( strValue ) {
/************************************************
DESCRIPTION: Validates that a string contains only
valid dates with 2 digit month, 2 digit day,
4 digit year. Date separator can be ., -, or /.
Uses combination of regular expressions and
string parsing to validate date.
Ex. mm/dd/yyyy or mm-dd-yyyy or mm.dd.yyyy
PARAMETERS:
strValue - String to be tested for validity
RETURNS:
True if valid, otherwise false.
REMARKS:
Avoids some of the limitations of the Date.parse()
method such as the date separator character.
*************************************************/
var objRegExp = /^d{1,2}(-|/|.)d{1,2}1d{4}$/
//check to see if in correct format
if(!objRegExp.test(strValue))
return false; //doesn't match pattern, bad date
else{
var strSeparator = strValue.substring(2,3) //find date separator
var arrayDate = strValue.split(strSeparator); //split date into month, day, year
//create a lookup for months not equal to Feb.
var arrayLookup = { '01' : 31,'03' : 31, '04' : 30,'05' : 31,'06' : 30,'07' : 31,
'08' : 31,'09' : 30,'10' : 31,'11' : 30,'12' : 31}
var intDay = parseInt(arrayDate[1]);
//check if month value and day value agree
if(arrayLookup[arrayDate[0]] != null) {
if(intDay
/*******************************************************************************
FILE: RegExpValidate.js
DESCRIPTION: This file contains a library of validation functions
using javascript regular expressions. Library also contains functions that re-
format fields for display or for storage.
VALIDATION FUNCTIONS:
validateEmail - checks format of email address
validateUSPhone - checks format of US phone number
validateNumeric - checks for valid numeric value
validateInteger - checks for valid integer value
validateNotEmpty - checks for blank form field
validateUSZip - checks for valid US zip code
validateUSDate - checks for valid date in US format
validateValue - checks a string against supplied pattern
FORMAT FUNCTIONS:
rightTrim - removes trailing spaces from a string
leftTrim - removes leading spaces from a string
trimAll - removes leading and trailing spaces from a string
removeCurrency - removes currency formatting characters (), $
addCurrency - inserts currency formatting characters
removeCommas - removes comma separators from a number
addCommas - adds comma separators to a number
removeCharacters - removes characters from a string that match passed pattern
AUTHOR: Karen Gayda
DATE: 03/24/2000
*******************************************************************************/
function validateEmail( strValue) {
/************************************************
DESCRIPTION: Validates that a string contains a
valid email pattern.
PARAMETERS:
strValue - String to be tested for validity
RETURNS:
True if valid, otherwise false.
REMARKS: Accounts for email with country appended
does not validate that email contains valid URL
type (.com, .gov, etc.) or valid country suffix.
*************************************************/
var objRegExp = /(^[a-z]([a-z_.]*)@([a-z_.]*)([.][a-z]{3})$)|(^[a-z]([a-z_.]*)@([a-z_.]*)(.[a-z]{3})(.[a-z]{2})*$)/i;
//check for valid email
return objRegExp.test(strValue);
}
function validateUSPhone( strValue ) {
/************************************************
DESCRIPTION: Validates that a string contains valid
US phone pattern.
Ex. (999) 999-9999 or (999)999-9999
PARAMETERS:
strValue - String to be tested for validity
RETURNS:
True if valid, otherwise false.
*************************************************/
var objRegExp = /^([1-9]d{2})s?d{3}-d{4}$/;
//check for valid us phone with or without space between
//area code
return objRegExp.test(strValue);
}
function validateNumeric( strValue ) {
/******************************************************************************
DESCRIPTION: Validates that a string contains only valid numbers.
PARAMETERS:
strValue - String to be tested for validity
RETURNS:
True if valid, otherwise false.
******************************************************************************/
var objRegExp = /(^-?dd*.d*$)|(^-?dd*$)|(^-?.dd*$)/;
//check for numeric characters
return objRegExp.test(strValue);
}
function validateInteger( strValue ) {
/************************************************
DESCRIPTION: Validates that a string contains only
valid integer number.
PARAMETERS:
strValue - String to be tested for validity
RETURNS:
True if valid, otherwise false.
******************************************************************************/
var objRegExp = /(^-?dd*$)/;
//check for integer characters
return objRegExp.test(strValue);
}
function validateNotEmpty( strValue ) {
/************************************************
DESCRIPTION: Validates that a string is not all
blank (whitespace) characters.
PARAMETERS:
strValue - String to be tested for validity
RETURNS:
True if valid, otherwise false.
*************************************************/
var strTemp = strValue;
strTemp = trimAll(strTemp);
if(strTemp.length > 0){
return true;
}
return false;
}
function validateUSZip( strValue ) {
/************************************************
DESCRIPTION: Validates that a string a United
States zip code in 5 digit format or zip+4
format. 99999 or 99999-9999
PARAMETERS:
strValue - String to be tested for validity
RETURNS:
True if valid, otherwise false.
*************************************************/
var objRegExp = /(^d{5}$)|(^d{5}-d{4}$)/;
//check for valid US Zipcode
return objRegExp.test(strValue);
}
function validateUSDate( strValue ) {
/************************************************
DESCRIPTION: Validates that a string contains only
valid dates with 2 digit month, 2 digit day,
4 digit year. Date separator can be ., -, or /.
Uses combination of regular expressions and
string parsing to validate date.
Ex. mm/dd/yyyy or mm-dd-yyyy or mm.dd.yyyy
PARAMETERS:
strValue - String to be tested for validity
RETURNS:
True if valid, otherwise false.
REMARKS:
Avoids some of the limitations of the Date.parse()
method such as the date separator character.
*************************************************/
var objRegExp = /^d{1,2}(-|/|.)d{1,2}1d{4}$/
//check to see if in correct format
if(!objRegExp.test(strValue))
return false; //doesn't match pattern, bad date
else{
var strSeparator = strValue.substring(2,3) //find date separator
var arrayDate = strValue.split(strSeparator); //split date into month, day, year
//create a lookup for months not equal to Feb.
var arrayLookup = { '01' : 31,'03' : 31, '04' : 30,'05' : 31,'06' : 30,'07' : 31,
'08' : 31,'09' : 30,'10' : 31,'11' : 30,'12' : 31}
var intDay = parseInt(arrayDate[1]);
//check if month value and day value agree
if(arrayLookup[arrayDate[0]] != null) {
if(intDay