Salut,
Voilà comment j'aurais imaginé le truc, histoire de le simplifier au max.
Tu donnes une classe identique à tous tes élements pour lesquels tu fais ton match, imaginons la classe fields puis t'as plus qu'à faire.
$(function(){
// Trigger le keyup
$('.fields').trigger('keyup');
});
Trigger va simuler ton keyup, donc pas besoin d'avoir du code en double.
Maintenant en supposant que pour la majorité des champs, tu fasses plusieurs fois la même regexp, dans ce cas , j'aurais fait mes champs comme ceci
<input type="text" class="fields icao2" data-match="alpha" data-check="check1" value="<?php echo $icao2; ?>"/>
<input type="text" class="fields name2" data-match="alphanum" data-check="check2" value="<?php echo $name2; ?>"/>
....
Ces propriétés data-match et data-check, tu vas ensuite t'en servir très simplement comme ceci
$(function(){
// Trigger le keyup
$('.fields').trigger('keyup');
// Onkeyup
$('.fields').keyup(function(){
var datamatch = $(this).attr('data-match');
// On choisi le match qui va bien
switch(datamatch)
{
case 'alpha': var matchreg = /^[A-Z]{3,4}$/;
break;
case 'alphanum': var matchreg = /^[a-zA-Z0-9\-]{4,6}$/;
break;
// etc......
}
// OK
if($(this).val().match(matchreg)
{
$('.'+$(this).attr('data-check')).html('<img src="./site/membre/pages/resa_cil/images/accept.png" />');
$(this).removeClass("red yellow");
$(this).addClass("green white");
}
// KO
else
{
$('.'+$(this).attr('data-check')).html('<img src="./site/membre/pages/resa_cil/images/error.png" />');
$(this).removeClass("green white");
$(this).addClass("red yellow");
}
)};
});
Dis moi ce que t'en penses et si ça fonctionne.
Bisous