js 验证日期有效性
自己使用的日期验证 js,大家看下有什么问题不
修改了几个bug
修改了几个bug
<!-验证日期
验证格式:年-月-日 或 年/月/日
-!>
<script type="text/javascript">
function checkDate(str)
{
try
{
if(/\-/.test(str) && /\//.test(str))
{
return false;
}
str = str.replace(/\-/g,"/");//必须要用正则来替换,否则只替换第一个出现的字符串
var tmp = str.split("/");
if(tmp.length > 3)
{
return false;
}
var tempDate = new Date(str);
var year = tempDate.getYear();
var month = tempDate.getMonth() + 1;
var day = tempDate.getDate();
//判断中间不允许有空格
if(/\s/.test(tmp[0]) || /\s/.test(tmp[1]) || /\s/.test(tmp[2]))
{
alert("中间不允许出现空格!");
return false;
}
//判断年、月、日位数,可以根据自己需求修改
if(tmp[0].length < 3 || tmp[0].length > 4)
{
return false;
}
if(tmp[1].length > 2)
{
return false;
}
if(tmp[2].length > 2)
{
return false;
}
//判断年、月、日位数,可以根据自己需求修改
if(tempDate != null)
{
return year == tmp[0] && month == tmp[1] && day == tmp[2];
}else
{
return false;
}
}catch(ex)
{
//alert(ex.message);
return false;
}
}
function test()
{
var str = document.getElementById("myInput").value;
if(!checkDate(str))
{
alert("请输入正确的日期!");
}else
{
alert("输入正确!");
}
}
</script>
<br />
输入日期:<input type="text" id="myInput" /><br />
<input type="button" value="验证日期" onclick="test();" />
验证格式:年-月-日 或 年/月/日
-!>
<script type="text/javascript">
function checkDate(str)
{
try
{
if(/\-/.test(str) && /\//.test(str))
{
return false;
}
str = str.replace(/\-/g,"/");//必须要用正则来替换,否则只替换第一个出现的字符串
var tmp = str.split("/");
if(tmp.length > 3)
{
return false;
}
var tempDate = new Date(str);
var year = tempDate.getYear();
var month = tempDate.getMonth() + 1;
var day = tempDate.getDate();
//判断中间不允许有空格
if(/\s/.test(tmp[0]) || /\s/.test(tmp[1]) || /\s/.test(tmp[2]))
{
alert("中间不允许出现空格!");
return false;
}
//判断年、月、日位数,可以根据自己需求修改
if(tmp[0].length < 3 || tmp[0].length > 4)
{
return false;
}
if(tmp[1].length > 2)
{
return false;
}
if(tmp[2].length > 2)
{
return false;
}
//判断年、月、日位数,可以根据自己需求修改
if(tempDate != null)
{
return year == tmp[0] && month == tmp[1] && day == tmp[2];
}else
{
return false;
}
}catch(ex)
{
//alert(ex.message);
return false;
}
}
function test()
{
var str = document.getElementById("myInput").value;
if(!checkDate(str))
{
alert("请输入正确的日期!");
}else
{
alert("输入正确!");
}
}
</script>
<br />
输入日期:<input type="text" id="myInput" /><br />
<input type="button" value="验证日期" onclick="test();" />