2014-02-26 91 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."));