Le JavaScript ci-dessous vérifie s'il y a 4 chiffres dans un champ et avertit s'il n'y en a pas.JavaScript erreur piégeage ne lit pas 0 (zéro)
Mais pour une raison quelconque, si j'entre quatre zéros (0000), il prend cela comme champ vide et lance l'avertissement.
Une idée pour résoudre ce problème ... ?? Je ne suis pas un programmeur mais j'ai mis ce code ensemble après des semaines d'essais et d'erreurs.
function validate(){
// if ((!isNaN($("#couponstart1").val())) || (!isNaN($("#couponstart2").val())) || (!isNaN($("#couponend1").val())) || (!isNaN($("#couponend2").val())) ) {
var all_ok = true;
var err_msg = "";
var fld = "";
if ($("#couponstart1").val() == '' || $("#couponstart2").val() == '' || $("#couponend1").val() == '' || $("#couponend2").val() == '') {
all_ok = false;
err_msg += "\n - Card Numbers cannot be blank";
fld='couponstart1';
}else{
if (isNaN($("#couponstart1").val()) || isNaN($("#couponstart2").val()) || isNaN($("#couponend1").val()) || isNaN($("#couponend2").val())) {
all_ok = false;
err_msg += "\n - Card Number has to be numeric";
fld='couponstart1';
}else{
if ($("#couponstart1").val() < 1 || $("#couponstart2").val() < 1 || $("#couponend1").val() < 1 || $("#couponend2").val() < 1) {
all_ok = false;
err_msg += "\n - Card Numbers are not correct";
fld='couponstart1';
}else if ($("#couponstart1").val().length != 4 || $("#couponstart2").val().length != 4 || $("#couponend1").val().length != 4 || $("#couponend2").val().length < 4){
all_ok = false;
err_msg += "\n - Card Numbers are not correct";
fld='couponstart1';
}
}
}
if (all_ok == false){
alert("The following errors have taken place" + err_msg);
setFocus(fld);
}
return all_ok;
}
Où exactement dans votre code les 4 zéros jettent l'erreur? – aldux
Et vous pourriez économiser beaucoup de tests en utilisant regex, comme '/ \ d {4} /. Test (" 0000 ")' testera les nombres avec exactement 4 chiffres – aldux
Je n'ai aucune idée de comment utiliser regex. C'est ici que l'erreur est lancée: '} { if ($ (" # couponstart1 "). Val() <1 || $ (" # couponstart2 "). Val() <1 || $ (" # coupon1) ") val() <1 || $ (" # couponend2 ").val() <1) { all_ok = false; err_msg + = "\ n - Les numéros de carte ne sont pas corrects"; fld = 'couponstart1'; ' – user3512522