2014-02-26 64 views
4

我正在使用Moment.js验证年龄是否超过18岁。使用moment.js验证输入年龄

我的代码:

function validate(date){ 
var eighteenYearsAgo = moment().subtract("years", 18); 
var birthday = moment(date); 

if (!birthday.isValid()) { 
    return "invalid date";  
} 
else if (eighteenYearsAgo.isAfter(birthday)) { 
    return "okay, you're good";  
} 
else { 
    return "sorry, no";  
} 

}

我有一个输入

<input type="text" name"SocialSecurityNumber"> 

我怎么能这个脚本连接到输入,所以它验证年龄,每次有人为离开输入字段? (模糊)

+0

'的onblur = “返回验证(THIS.VALUE;”'虽然选择预先输入或形式和使用标准的'addEventListener'挂钩它可能是一个更好的方法。 –

+0

您好@BenjaminGruenbaum,请你给我一个工作的例子将非常感谢! – rac

回答

0
<input type="text" name="SocialSecurityNumber" onblur="return validate(this.value);" /> 

个人而言,我使用jquery验证器和由这种方法:

$.validator.addMethod("minage", function(value,element,argument){ 
    var age = moment(value); 
    var now = moment(); 
    return this.optional(element) || now.diff(age,'years') >= argument; 
}, $.format("Applicant must be at least {0} years old."));