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
2213 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

Les Amis des Animaux | -15 pointsMéta Annuaire | -29 pointsAnnuaire French Business | -29 pointsDame Tortue | -29 points

Discussions récentes dans les forums

Sujet Forum
touretEchange De Liens
Sujet posté par touret le 13/11/2008 à 08h58'09
Net-Pratique.fr » Suggestions
xersesRe: espace membres 1.2
Réponse postée par xerses le 09/11/2008 à 18h57'14
Développement » PHP
xersesRe: Le jeu flash : Hélico
Réponse postée par xerses le 05/11/2008 à 23h53'47
Le comptoir » Le bar
unitRe: Vous cherchez un travail simple sur Internet ?
Réponse postée par unit le 03/11/2008 à 15h53'53
Internet » Sites de ressources
froogyRe: Un ptit jeu
Réponse postée par froogy le 26/10/2008 à 16h40'03
Le comptoir » Le bar
rerRe: Sarbacane ou html ?
Réponse postée par rer le 23/10/2008 à 16h11'03
Développement » (X)HTML / CSS
1cyrilRe: Clic droit interdit [Réglé]
Réponse postée par 1cyril le 19/10/2008 à 19h26'02
Développement » PHP
xersesRe: Espace-Membre : pb connexion
Réponse postée par xerses le 13/10/2008 à 12h41'06
Développement » PHP
toutsi83Espace-Membre : pb URL's [Réglé]
Sujet posté par toutsi83 le 07/10/2008 à 12h33'17
Développement » PHP
roucroune[Travail Rémunéré] 7 designs salon coiffure
Sujet posté par roucroune le 03/10/2008 à 20h01'26
Graphisme / Photographie » Webdesign
Membres
Pseudo:
Pass: Mémoriser ?
Problème d'identificationInscription gratuite
Tribune libre
CNIL: 1098091
Connectés: 43