11485 sujets

JavaScript, DOM et API Web HTML5

bonjour jai un code ici et je veux le changer :
	  	    if( empty($fqsr) || strlen($fqsr) != 4){
		  $firsterror=1;
	  }

comme vous le code montre que input fqsr il faut quil sois formuler avec 4 caractere
AAAA or bien 1234 ou bien 1A1A mais c mois ou plus c erreur Smiley smile
moi e veux la changer a minium 4 et maximum 25 mais je sais pas comment quelqun peux faire !

et merci davance
Un petit sujet sur les opérateurs logique à lire si tu veux apprendre :
http://php.net/manual/fr/language.operators.logical.php

Pour rajouter une condition " OU " il faut écrire " || "

<?php
if(empty($fqsr) || strlen($fqsr) < 4 || strlen($fqsr) > 25){
  $firsterror = 1;
}
?>


Ca serait sympa si tu pouvais t'appliquer sur ton français, parce que tes phrases sont incomplètes, sans parler des fautes ou des mots qui ne sont pas alignés dans le bon ordre

Quand on fait de la programmation, on doit s'appliquer. La syntaxe est très importante, sinon le code ne fonctionne pas. Il ne faut pas oublier les ; la fin de chaque instruction, il faut bien refermer tes crochets { } etc...

Donc ça serait bien que tu t'appliques autant en français qu'en programmation. Des gens essayent de te lire pour t'aider tu comprends ?
Modifié par taspeur (14 Dec 2017 - 13:18)
Bonjour,

Pourquoi ne pas plutôt utiliser les REGEX ?


if(!preg_match('/(A-Za-z0-9){4,25}/', $fqsr)){
   $firsterror=1;
}


là on analyse si il ya bien des lettres minuscules ou majuscules et des chiffres pour un minimum de 4 et un max de 25 si ok ça passe sinon ça renvoi l'erreur...

Beaucoup plus simple et plus souple à mon sens

PS : je plussois sur l'orthographe et la grammaire Smiley cligne
Modérateur
Bonjour,
pchlj a écrit :
Beaucoup plus simple et plus souple à mon sens

Mhhh ! Jamais facile, les expressions régulières ! Avec des crochets au lieu de parenthèses, ici, cela marcherait mieux ! Et ça dépend aussi de ce que peut contenir la chaine de caractères. Si elle peut contenir des espaces, de la ponctuation, ...; il faudra aussi en tenir compte.

Bref, je ne suis pas convaincu que les expressions régulières soient "beaucoup plus simple" ! Smiley cligne

Amicalement,
parsimonhi a écrit :
Bonjour,
Mhhh ! Jamais facile, les expressions régulières ! Avec des crochets au lieu de parenthèses, ici, cela marcherait mieux ! Et ça dépend aussi de ce que peut contenir la chaine de caractères. Si elle peut contenir des espaces, de la ponctuation, ...; il faudra aussi en tenir compte.
Bref, je ne suis pas convaincu que les expressions régulières soient "beaucoup plus simple" ! Smiley cligne
Amicalement,

Je serais tenté d'abonder en ce sens...
La problématique est la même en Java ou tout autre langage acceptant les expressions régulières :
- elles restent un outil puissant
- leur courbe d'apprentissage n'est pas forcément simple
- les subtilités entre langages peuvent nuire à la portabilité
Il n'est, bien entendu, pas question de contester l'utilité des expressions régulières, mais leur maîtrise n'a rien d'intuitif.
Parfois un simple algorithme "naïf" peut se révéler suffisant pour répondre au problème posé.
Cela reste donc une question de choix en fonction des objectifs / contraintes du moment.
Bonjour,

kyron900 pour ton cas :
Si c'est juste tester le nombre caractère alors cela ne sert à rien de faire des expressions régulières , la solution de taspeur reste la meilleur.
Si tu dois aussi avoir des caractères spécifiques en plus du nombre caractère la solution de pchlj reste la meilleur. Mais tu pourrais aussi la faire A-Za-z0-9 sans des expressions régulières en testant chaque caractère (c'est pas le top, mais cela sera peut être plus rassurant pour toi)

Perso : j'ai eu du mal avec les expressions régulières, mais au final cela peut te faire gagner du temps. Je t'invite donc si tu ne connaît pas les expressions régulières a commencer a les maitriser, c'est quand même super bien
aliasdmc a écrit :

Perso : j'ai eu du mal avec les expressions régulières, mais au final cela peut te faire gagner du temps. Je t'invite donc si tu ne connaît pas les expressions régulières a commencer a les maitriser, c'est quand même super bien

Je plussoie!
Pendant 15 ans j'ai évité de me lancer dans les expressions régulières, puis je me suis retrouvé dans une situation où il n'était pas raisonnable de s'en passer et j'ai donc dû m'y mettre.
Mais je constate que je fais un nombre de bugs par caractère de commande très supérieur à mon nombre habituel de bugs par kilo ligne de code "usuel": JS, PHP ou l'un des dizaines de langages que j'ai eu à utiliser dans ma carrière. C'est donc un outil puissant mais difficile à utiliser.
Je recommande la fréquentation régulière de http://www.regular-expressions.info/ pour s'y retrouver quand on est dans le noir et l'utilisation systématique de http://www.lumadis.be/regex/test_regex.php pour valider les commandes.