JS判断两种格式的输入日期的正确性
2007-10-10 12:13
549 查看
最简单的
function isValidDate(dateStr) {
var matchArray = dateStr.match(/^[0-9]+-[0-1][0-9]-[0-3][0-9]$/)
if (matchArray == null) {
alert("Invalid date: " + dateStr);
return false;
}
return true;
}
第二种
<script language=javascript>
String.prototype.isDate = function()
{
var r = this.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]);
}
alert("2002-01-31".isDate());
alert("2002-01-41".isDate());
</script>
第三种,比较复杂的
<script language=javascript>
String.prototype.isTime = function()
{
var r = this.match(/^(/d{1,4})(-|//)(/d{1,2})/2(/d{1,2}) (/d{1,2}):(/d{1,2}):(/d{1,2})$/);
if(r==null)return false; var d = new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]);
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);
}
alert("2002-1-31 12:34:56".isTime());
alert("2001-2-29 12:54:56".isTime());
alert("2002-1-41 12:00:00".isTime());
</script>
判断数字用 isNaN()
/**
*校验字符串是否为日期型
*返回值:
*如果为空,定义校验通过, 返回true
*如果字串为日期型,校验通过, 返回true
*如果日期不合法, 返回false 参考提示信息:输入域的时间不合法!(yyyy-MM-dd)
*/
function checkIsValidDate(str)
{
//如果为空,则通过校验
if(str == "")
return true;
var pattern = /^((d{4})|(d{2}))-(d{1,2})-(d{1,2})$/g;
if(!pattern.test(str))
return false;
var arrDate = str.split("-");
if(parseInt(arrDate[0],10) < 100)
arrDate[0] = 2000 + parseInt(arrDate[0],10) + "";
var date = new Date(arrDate[0],(parseInt(arrDate[1],10) -1)+"",arrDate[2]);
if(date.getYear() == arrDate[0]
&& date.getMonth() == (parseInt(arrDate[1],10) -1)+""
&& date.getDate() == arrDate[2])
return true;
else
return false;
}
function isValidDate(dateStr) {
var matchArray = dateStr.match(/^[0-9]+-[0-1][0-9]-[0-3][0-9]$/)
if (matchArray == null) {
alert("Invalid date: " + dateStr);
return false;
}
return true;
}
第二种
<script language=javascript>
String.prototype.isDate = function()
{
var r = this.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]);
}
alert("2002-01-31".isDate());
alert("2002-01-41".isDate());
</script>
第三种,比较复杂的
<script language=javascript>
String.prototype.isTime = function()
{
var r = this.match(/^(/d{1,4})(-|//)(/d{1,2})/2(/d{1,2}) (/d{1,2}):(/d{1,2}):(/d{1,2})$/);
if(r==null)return false; var d = new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]);
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);
}
alert("2002-1-31 12:34:56".isTime());
alert("2001-2-29 12:54:56".isTime());
alert("2002-1-41 12:00:00".isTime());
</script>
判断数字用 isNaN()
/**
*校验字符串是否为日期型
*返回值:
*如果为空,定义校验通过, 返回true
*如果字串为日期型,校验通过, 返回true
*如果日期不合法, 返回false 参考提示信息:输入域的时间不合法!(yyyy-MM-dd)
*/
function checkIsValidDate(str)
{
//如果为空,则通过校验
if(str == "")
return true;
var pattern = /^((d{4})|(d{2}))-(d{1,2})-(d{1,2})$/g;
if(!pattern.test(str))
return false;
var arrDate = str.split("-");
if(parseInt(arrDate[0],10) < 100)
arrDate[0] = 2000 + parseInt(arrDate[0],10) + "";
var date = new Date(arrDate[0],(parseInt(arrDate[1],10) -1)+"",arrDate[2]);
if(date.getYear() == arrDate[0]
&& date.getMonth() == (parseInt(arrDate[1],10) -1)+""
&& date.getDate() == arrDate[2])
return true;
else
return false;
}
相关文章推荐
- JS判断两种格式的输入日期的正确性
- JS判断两种格式的输入日期的正确性
- JavaScript判断两种格式的输入日期的正确性的代码
- JavaScript判断两种格式的输入日期的正确性的代码
- JS判断输入日期的正确性
- JS判断输入日期的正确性
- js判断输入的字符串是否是日期格式
- JS判断输入日期的正确性
- JS判断输入日期的正确性
- C#正则表达式判断输入日期格式是否正确
- C#正则表达式判断输入日期格式是否正确
- js 时间日期 校验格式 比较大小等(判断页面选择时间只能在早8点到晚8点之间)
- JavaScript 判断输入的日期是否是合法日期的两种方法
- JS判断日期格式是否合法的简单实例
- js判断日期/时间格式是否有效!
- 使用DateValidator判断用户输入的日期格式,并用DateFormatter对输入日期格式化。
- javascript判断用户输入是否合法日期格式
- js 各类判断用户输入字符的格式函数
- JS 判断日期格式的函数
- 【JS】:JS实现判断输入字符串是否合乎邮箱格式