<script>
check("1992-1-5",18)
check("1980-1-5",18)
function check(d,n){
var reg=/^(\d{4})(-|\/)(\d{1,2})\2(\d{1,2})/
if(arr=d.match(reg)){
var tmp=new Date(parseInt(arr[1])+n,arr[3]-1,arr[4]);
if(tmp.getTime()>(new Date().getTime()))
alert(d+"出生的小于"+n+"岁")
else
alert(d+"出生的大于"+n+"岁")
}else alert("格式不对")
}
</script>

解决方案 »

  1.   

    <input type="text" value="1980/8/20" id="input1">
    <input type="button" value="test" onclick="alert((new Date().getYear()-new Date(input1.value).getYear()).toString().substring(2)>=18?'大于等于18岁':'小于18岁')">
    其实还是要看具体情况来分析,比如输入不是用/而是用-连接,则在使用Date()构造函数时必须替换成/
      

  2.   

    function Getage()
    {
        var birthyear = textbox1.value;
        var today = new date();
        var thisyear = today.getFullYear();//这是客户机的时间年,不是服务器的。
        var age = thisyear - birthyear;
        if (age > 18)
        {……}
    }
    (程序未经验证)
    要想用服务器端的时间年进行计算,可以在在页面上建立一个隐藏域,页面初始的时候就把服务器的时间年放入其中,在客户端取出用作判断。
      

  3.   

    qiushuiwuhen(秋水无恨) :你自己写的吗?我不太懂
      

  4.   

    嗯,当前时间+n年,和现在的时间相比
    大于表示不足n岁,小于表示过了n岁
      

  5.   

    嗯,测试时间+n年,和现在的时间相比
    大于表示不足n岁,小于表示过了n岁p.s.只判断年相差n的话,那不能说明n周岁
      

  6.   

    你好人做到底,我给你发过去,你帮我做一下,好不好?
    说实话我是做美术设计的,对JAVA不通,好不好?