Tester le nombre de caractères d’une saisie. [Réglé] - Forums de discussion

Navigation

Accueil du forum » PHP » Tester le nombre de caractères d’une saisie. [Réglé]


Le sujet

icoTester le nombre de caractères d’une saisie. [Réglé]
Par ico, le Mardi 23/05/2006 à 14h37'54
437 messages
Bonjour tout le monde.
Je continu mon formulaire et j’aimerais que en tapant le pseudo, vérifié par une fonction, on interdise les saisies inférieur à 3 caractères et que l’on interdise aussi au dessus de 30 caractères.

Comment faire cela ?

Merci beaucoup pour vos réponses.
Amitiés.

________________
"L'homme a l'avenir devant lui et il l'aura dans le dos chaque fois qu'il fera un demi tour!" (Pierre Dac)

Les réponses

raptorPar raptor, le Mardi 23/05/2006 à 14h49'29
2218 messages
Lors de la saisie ou au moment de la validation tu veux la verification ?
Premier cas : javascript
Deuxieme cas : php

________________
Fondateur de Net-Pratique,
Ancien webmaster.
Statut: Administrateur/Webmaster

icoPar ico, le Mardi 23/05/2006 à 15h05'46
437 messages
Second cas pour être plus exacte.
Toutefois j'aimerais bien, par curiosité, voir en javascript notement pour le forum ou les messages privées oui.

Merci beaucoup.
Amitiés.

________________
"L'homme a l'avenir devant lui et il l'aura dans le dos chaque fois qu'il fera un demi tour!" (Pierre Dac)

koolstuffPar koolstuff, le Mardi 23/05/2006 à 15h08'22
93 messages
En JavaScript faudrait le faire sur le submit du <form> genre :

<script language="Javascript">
function checkValues(){
  var myTextVal = document.getElementById("myText").value;
  return (myTextVal.length >= 3 && myTextVal.length <= 30);
}
</script>

<form action="..." onsubmit="return checkValues()">
<input type="text" name="myText">
</form>


En php, il te reste la fonction strlen()...

[Message édité par koolstuff le 23/05/2006 à 15h09'45]

________________
¤¤ KooLStuFF ¤¤

icoPar ico, le Mardi 23/05/2006 à 15h12'34
437 messages
Ah ok.
Je regarde ce que je peux faire
Merci beaucoup.
Amitiés.

________________
"L'homme a l'avenir devant lui et il l'aura dans le dos chaque fois qu'il fera un demi tour!" (Pierre Dac)

koolstuffPar koolstuff, le Mardi 23/05/2006 à 15h20'32
93 messages
En général j'utilise une fonction de check (côté php) assez généric du genre :

function checkDataFormat($data, $type = "", $param = ""){
    switch ($type){
        case "password":
        case "login":
            return ereg("^[0-9A-Za-z]+$", $data);
        break;

        case "color":
            return ereg("^[0-9A-Fa-f]+$", $data);
        break;

        case "length":
            $max = (strlen($param) > 0)?$param - 1:0;
            return (strlen($data) > $max)?true:false;
        break;

        case "telephone":
            $tmp = str_replace(" ", "", $data);
            $tmp = str_replace("+", "", $tmp);
            return ereg("^[0-9]+$", $tmp);
        break;


        case "email":
            // Expression régulière trouvée sur http://www.phpinfo.net/astuces/astuces104.html
            return ereg('^[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+'.
               '@'.
               '[-!#$%&\'*+\/0-9=?A-Z^_`a-z{|}~]+\.'.
               '[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+$',
               $data);
        break;

        default:    $valid = false;
    }

    return $valid;
}


(--> version simplifiée)


Ensuite je l'appel comme ça :

if (!checkDataFormat($login, "login")) ...
if (!checkDataFormat($pass, "password")) ...
if (!checkDataFormat($value, "length", 10)) ...


Ca permet d'avoir en une seule fonction toutes les options de check de valeurs.

[Message édité par koolstuff le 23/05/2006 à 15h21'28]

________________
¤¤ KooLStuFF ¤¤

icoPar ico, le Mardi 23/05/2006 à 15h29'50
437 messages
Waouw !
Génial ton script la

Moi j'ai fait ceci:
function verif_nombre_caractere ($saisie, $nombre)
    {
        if(strlen($saisie) < $nombre) { return false; } else { return true; }
    }

//Puis ->

$nb_caractere = "3"; //On veut plus de 3 caractères
                if(verif_nombre_caractere($inscription_pseudo, $nb_caractere))
{ //suite du code
}
else { $message = "Ereur"; }


Bref un truc simple.

Mais je vais voir pour faire autrement je pense. Et je croi que je vais m'inspiré de ton truc

Merci beaucoup
Amitiés.

________________
"L'homme a l'avenir devant lui et il l'aura dans le dos chaque fois qu'il fera un demi tour!" (Pierre Dac)

koolstuffPar koolstuff, le Mardi 23/05/2006 à 15h35'45
93 messages
Pour info, tu peux simplifier ton écriture :

au lieu de :

if(strlen($saisie) < $nombre) { return false; } else { return true; }

tu peux mettre :

return strlen($saisie) < $nombre;

Vu que tu retourne un booléen, tu peux retourner directement le résultat de ta condition.

________________
¤¤ KooLStuFF ¤¤

icoPar ico, le Mardi 23/05/2006 à 16h01'12
437 messages
Ah je ne savais pas.

Par contre ca:
//Fonction de vérification de saisie utilisateur
    function verif_saisie_format_param($saisie, $type = "", $parametre = "")
    {
        //On regarde le type de saisie auquel on a à faire
        switch ($type)
        {
            //Détecte si le champ tester est vide ou plein
            case "vide_plein":
                if(!empty($saisie)) { return true; } else { return false; }
                break;
                
            //Détecte si le champ tester n'utlise que les carractères autorisé si dessous
            case "caractere_valide":
                //Autorise en minuscule et en majuscule de a à z puis autorise les chiffres de 0 à 9 ainsi que les tirée bas et milieu
                if(ereg("^[a-zA-Z0-9_-]{0,30}$",$saisie)) { return true; } else { return false; }
                break;
                
            //Détecte si le champ testé contient au minimum le nombre de caractères requis
            case "minimum_caractere":
                if(strlen($saisie) < $parametre) { return false; } else { return true; }
                break;
        }

Ca marche

Bon je rectifie avec ta dernière information.

Merci encore du coup de pouce

Amitiés.

________________
"L'homme a l'avenir devant lui et il l'aura dans le dos chaque fois qu'il fera un demi tour!" (Pierre Dac)

koolstuffPar koolstuff, le Mardi 23/05/2006 à 16h07'36
93 messages
Nickel. Après tu pourras la compléter au fur et à mesure que t'aura besoin d'autres checks.

________________
¤¤ KooLStuFF ¤¤

icoPar ico, le Mardi 23/05/2006 à 16h12'58
437 messages
Oui
Merci beaucoup.
Je n'avais pas penser à faire comme ca mais au final ca s'avert pratique et rapide commemethode. rien n'empeche de remplir au fur et à la mesure oui

Mille merci.

Amitiés.

________________
"L'homme a l'avenir devant lui et il l'aura dans le dos chaque fois qu'il fera un demi tour!" (Pierre Dac)

Pages

Réponses les plus anciennes... 1 ...Réponses les plus récentes

A lire également

- Les conditions générales d'utilisation du site

Top-sites membres

Web Soluces | -8 pointsCalitel, votre portail des loisirs multimédia | -14 pointsSweet Gwendoline | -15 pointsSuperSalon.NET | -15 points

Discussions récentes dans les forums

Sujet Forum
depanmonpcEchange de liens site depannage informatique.
Sujet posté par depanmonpc le 07/01/2009 à 16h48'11
Le comptoir » Echange de liens / Recherche de partenaires
xersesRe: compression d'images
Réponse postée par xerses le 07/01/2009 à 00h29'37
Graphisme / Photographie » Photographies
tienoRe: IE 7 VS Firefox 2
Réponse postée par tieno le 04/01/2009 à 18h05'36
Internet » Autres sites à voir
rootRe: Espace-Membre : pb connexion
Réponse postée par root le 02/01/2009 à 16h47'50
Développement » PHP
xersesRe: probleme de fenêtre [Réglé]
Réponse postée par xerses le 01/01/2009 à 20h16'20
Net-Pratique.fr » Informations
ced51Re: liens , sport Mécanique
Réponse postée par ced51 le 27/12/2008 à 12h18'48
Le comptoir » Echange de liens / Recherche de partenaires
ced51pages
Sujet posté par ced51 le 26/12/2008 à 17h44'42
Net-Pratique.fr » Support
rerjoyeux_noel._gp.pps
Sujet posté par rer le 24/12/2008 à 10h08'30
Le comptoir » Le bar
rerserveur à domicile facile et gratuit
Sujet posté par rer le 11/12/2008 à 14h57'56
Le comptoir » Le bar
raptorRe: probleme function
Réponse postée par raptor le 11/12/2008 à 09h25'52
Développement » PHP
Membres
Pseudo:
Pass: Mémoriser ?
Problème d'identificationInscription gratuite
Tribune libre
CNIL: 1098091
Connectés: 25