Javascript 如何验证出生年份?

Javascript 如何验证出生年份?,javascript,validation,function,Javascript,Validation,Function,对于这个家庭作业,我必须编写一个javascript代码来验证出生年份是否大于1870且小于当前年份加上1,我如何将它们组合起来以显示相同的错误消息 function isYearofBirthValid(birth) { "use strict"; var alert = ""; if(birth.length < 1870 && birth.length > 2013) { <---- this part? alert("inva

对于这个家庭作业,我必须编写一个javascript代码来验证出生年份是否大于1870且小于当前年份加上1,我如何将它们组合起来以显示相同的错误消息

function isYearofBirthValid(birth) {
  "use strict";
  var alert = "";
  if(birth.length < 1870 && birth.length > 2013) {    <---- this part?
     alert("invalid year");
     return false;
  }
     return true;
}
函数isYearofBirthValid(出生){
“严格使用”;
var-alert=“”;

if(birth.length<1870&&birth.length>2013){尝试以下if语句:

function isYearofBirthValid(birth) {
    if(birth < 1870 || birth > 2013){
        alert("invalid year");
        return false;
    }
    return true;
}

请尝试以下if语句:

function isYearofBirthValid(birth) {
    if(birth < 1870 || birth > 2013){
        alert("invalid year");
        return false;
    }
    return true;
}

您应该使用or运算符(
|
)而不是and运算符(
&&
)。出生日期不能同时小于1870和大于2013

另外,我认为您不想检查值的长度,而是检查值本身

if (birth < 1870 || birth > 2013)
if(出生<1870 | |出生>2013)

您应该使用or运算符(
|
)而不是and运算符(
&&
)。出生日期不能同时小于1870和大于2013

另外,我认为您不想检查值的长度,而是检查值本身

if (birth < 1870 || birth > 2013)
if(出生<1870 | |出生>2013)

参数birth是什么类型的?这不是问题的答案,但如果您不想硬编码max year,可以使用
new Date().getFullYear()+1
而不是
2013
。参数birth是什么类型?这不是问题的答案,但如果您想避免硬编码最长年份,可以使用
new Date().getFullYear()+1
而不是
2013
和&birth>new Date().getFullYear()+1
?一个值不能同时小于1870和大于2013,因此条件将始终为假。@ianpgall:实际上,这是在我发布评论后半分钟编辑的。这比我对未来的预测稍微多。@ianpgall:回滚时间15:29:17。在回滚之前,你真的看到了那个编辑吗ck?@Guffa我想是的!哈哈,这一点都不重要。无论如何,这本应该在OP上发表评论,因为他们的代码是
<1870&&&>2013
(即使它被复制到了这个答案中)
&&birth>new Date().getFullYear()+1
?一个值不能同时小于1870和大于2013,因此条件将始终为假。@ianpgall:实际上,这是在我发布评论后半分钟编辑的。这比我对未来的预测稍微多。@ianpgall:回滚时间15:29:17。在回滚之前,你真的看到了那个编辑吗ck?@Guffa我想是的!哈哈,这一点都不重要。无论如何,这本应该在OP上发表评论,因为他们的代码是
<1870&&>2013
(即使它被复制到了这个答案中)