任何人都可以解释foll JS函数如何验证日期,需要的形式为mm/dd/yyyy.
<script type="text/javascript">
function checkdate(input){
var validformat=/^\d{2}\/\d{2}\/\d{4}$/ //Basic check for format validity
var returnval=false
if (!validformat.test(input.value))
alert("Invalid Date Format. Please correct and submit again.")
else{ //Detailed check for valid date ranges
var monthfield=input.value.split("/")[0]
var dayfield=input.value.split("/")[1]
var yearfield=input.value.split("/")[2]
var dayobj = new Date(yearfield, monthfield-1, dayfield)
if ((dayobj.getMonth()+1!=monthfield)||(dayobj.getDate()!=dayfield)||(dayobj.getFullYear()!=yearfield))
alert("Invalid Day, Month, or Year range detected. Please correct and submit again.")
else
returnval=true
}
if (returnval==false) input.select()
return returnval
}
</script>
Run Code Online (Sandbox Code Playgroud)
第一部分使用正则表达式来检查值是否为所需格式mm/dd/yyyy.如果它不是/分别具有2,2和4数字的分隔字符串,则确保验证失败.
第二部分使用个体和值创建日期对象dd,mm并使用yyyy输入中的原始值检查创建的对象的属性.这是为了确保验证失败,例如02/31/2015
if ((dayobj.getMonth()+1!=monthfield)||(dayobj.getDate()!=dayfield)||(dayobj.getFullYear()!=yearfield))
上述语句用于确保创建的对象反映用于创建它的相同值.另请注意,月份索引始于0,因此-1在创建+1期间和检查期间.
| 归档时间: |
|
| 查看次数: |
10031 次 |
| 最近记录: |