jquery を使用してカスタム検証を作成しましたが、いくつかのコードを大幅に繰り返していることがわかります。以下のコードを短くするのを手伝ってくれる人はいますか??
いくつかのパラメーターを渡し、他の関数でいくつかのコードを再利用する方法を探しています
どんな助けでも大歓迎です
var errorslist = [];
function datevalidation(){
var day = $("#birthday-day").val();
var month = $("#birthday-month").val();
var year = $("#birthday-year").val();
var validday = new RegExp ("(^0?([1-9]?|[1][0-9]|[2][0-9]|[3][0-1])$)");
var validmonth = new RegExp ("(^0?([1-9]?|[1][0-2])$)");
var validyear = new RegExp ("((?!1900)(19[0-9]{2}|200[0-9]|201[0-3]))");
var date_error = $("#birthday-day").parent(".form-input").siblings(".form-info").children(".1stperror");
if(!(day.match(validday) && month.match(validmonth) && year.match(validyear))){
$(date_error).css("display","table-cell");
if($.inArray('date', errorslist)== -1){
errorslist.push('date');
}
}else{
$(date_error).css("display","none");
var index = $.inArray('date', errorslist);
if(index > -1){
errorslist.splice(index,1);
}
}
}
function adressvalidation(){
var checkadress = $("#adress").val();
var adress_error = $("#adress").parent(".form-input").siblings(".form-info").children(".1stperror");
if(checkadress==""){
$(adress_error).css("display","table-cell");
if($.inArray('adress', errorslist)== -1){
errorslist.push('adress');
}
}else{
$(adress_error).css("display","none");
var index = $.inArray('adress', errorslist);
if(index > -1){
errorslist.splice(index,1);
}
}
}
function cityvalidation(){
var checkcity = $("#city").val();
var city_error = $("#city").parent(".form-input").siblings(".form-info").children(".1stperror");
if(checkcity==""){
$(city_error).css("display","table-cell");
if($.inArray('city', errorslist)== -1){
errorslist.push('city');
}
}else{
$(city_error).css("display","none");
var index = $.inArray('city', errorslist);
if(index > -1){
errorslist.splice(index,1);
}
}
}