【问题标题】:Javascript to check the age [closed]Javascript检查年龄[关闭]
【发布时间】:2013-06-20 21:28:00
【问题描述】:

如何编写 Javascript,
即,如果用户在填写所需空白后提交表单,Javascript 应检查当前日期的年龄,即,如果用户超过 15 岁,则只应提交表单,否则他们应该提醒消息“你未满 15 岁”

【问题讨论】:

  • 你试过什么?我希望你会比“你”做得更好。我不会使用任何不太关心其内容的网站。

标签: javascript jquery javascript-framework


【解决方案1】:

简单

var today = new Date();
var birthDate = new Date(dateString);
var age = today.getFullYear() - birthDate.getFullYear();
var m = today.getMonth() - birthDate.getMonth();
if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) {
    age--;
}
if(age < 15) {
    alert("You are under 15 age");
    return false;
}

【讨论】:

  • 按要求如何从当前日期开始检查?这会检查未输入的年龄值。
  • 好的明白....他编辑了他的问题...我会编辑我的等待
  • 现在看看我编辑的答案
【解决方案2】:

来自参考:http://jsperf.com/birthday-calculation

var age = calcAge(dateString);

function calcAge(dateString) {
  var birthday = +new Date(dateString);
  return ~~((Date.now() - birthday) / (31557600000));
}

// TODO Extra is:
if (age >= 15)
{
   return true;
}
else
{
    alert('You are under 15');
    return false
}

FIDDLE DEMO

【讨论】:

  • 上述函数在IE8.0中出现错误Object doesn't support this property or method
【解决方案3】:

使用 document.forms[0].onsubmit=function()( 返回函数_checkAge(); ) 如果年龄正确则在 function_checkAge 内部返回 true,如果年龄不正确则返回 false .. 如果返回 false 则不提交表单。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-15
    • 1970-01-01
    • 2013-11-18
    • 2017-08-28
    • 2019-04-24
    • 1970-01-01
    • 2013-07-24
    相关资源
    最近更新 更多