Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Regex per validare stringa input ........

    Ciao.
    E scusate se non posto codice
    ma sto brancolando nel buio
    vi spiego la struttura della stringa.
    t,f,n
    T,F,N,Y
    1g,4G,g5,11
    Y,N
    praticamente
    1 nessun carattere speciale prima del primo carattere
    2 nessun carattere speciale dopo l'ultimo carattere
    3 coppie valori separati da virgola
    4 solo valori alfanumerici da 1 max 3 nei valori
    Un sentito grazie a chi mi risolve sto problema

    Statemi bene.



    Ps
    E' per la parte admin dello script ma
    se per caso sbagli a mettere i valori
    se ne va a put...a tutto lo script
    (update a parte)
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  2. #2

    ............

    Per adesso sono a questo punto
    valido l'input solamente per caratteri
    alfanumerici (+ la virgola) e nessun
    carattere speciale (virgola compresa)
    all'inizio.
    Codice PHP:
    <?php
    $result 
    ereg("(^[a-zA-Z0-9]+([a-zA-Z0-9\,]{3,15}))$" ,"ipo78tpol58");
    var_dump($result);
    ?>
    Come vedete restano altri controlli
    potrei utilizzare explode(",",$result)
    e fare un controllo sugli array.
    Per l'ultimo carattere che non deve
    essere una virgola strlen + strrpos
    ad esempio ma tutto questo solo
    con ereg come si puō fare ?
    Ps il pattern prima della virgola
    č \,




    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  3. #3

    ............

    Uppete
    Neanche un'idea
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  4. #4

    .........

    Codice PHP:
    function checkString($string)
    {
        
    $check false;
        if(!
    ereg("(^[a-zA-Z0-9]+([a-zA-Z\_0-9\,]{3,12}))$",$string))
        {
            
    $check true;
            
        }
        
    $array explode(",",$string);
        
    $count count($array)-1;
        if(
    count($array)<2)
        {
            
    $check true;
        }
        if(empty(
    $array[$count]))
        {
            
    $check true;
        }
        foreach(
    $array as $row)
        {
            if((
    strlen($row)>3) || (strlen($row)<1))
            {
                
    $check true;
                return 
    $check;
            }
        }
        return 
    $check;
    }
    var_dump(checkString("pi,oo,#p")); 
    Se trovate qc o qc di meglio
    postate postate postate ........



    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  5. #5
    prova questa, non ho capito se č valida una stringa con un'unica coppia valori. Come ho scritto la regex ora non č ammessa, quindi limite inferiore 2, superiore qualsiasi.
    codice:
    $rex = '/^[a-z0-9]{1,3}(,[a-z0-9]{1,3})+$/i' ;
    echo preg_match($rex,$string)  ;
    dA .. foto di viaggio
    L'esperienza č il tipo di insegnante pių difficile.
    Prima ti fa l'esame, e poi ti spiega la lezione.

  6. #6

    .................

    Ciao
    Innanzitutto un grazie di cuore.
    Funziona alla grande
    Come ho scritto la regex ora non č ammessa, quindi limite inferiore 2, superiore qualsiasi.
    Il limite inferiore va benissimo se si potesse limitare
    quello superiore sarebbe ancora meglio e poi
    si dirai e poi un caffč !
    Ecco il poi non permettere valori duplicati
    tipo N,Y,N.




    Ps.
    Ti devo una bevuta virtuale !
    Ah e per implementare un forum
    in cui si possa offrire da bere agli
    amici :LOLL:
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  7. #7

    ......

    CHE TIPINI !
    No,no No,no DON'T LIE !

    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  8. #8
    grazie per la bevuta virtuale perō se non mi dici qual'č il limite superiore ... cmq prova questa (da testare):

    codice:
    $sub = '([a-z0-9]{1,3})' ;
    $rex = "/^$sub    # prima coppia valore
    	(?:,(?!\\1\b)$sub)  # seconda coppia
    	(?:,(?!\\1\b|\\2\b)$sub)?  # terza coppia
    	#(?:,(?!\\1\b|\\2\b|\\3\b)$sub)?  # quarta coppia
    	$/ix" ;
    Siccome devi controllare anche l'univocitā devi per forza specificare quante coppie massime vuoi. Se il max fosse 4 devi decommentare l'ultima riga, nel caso fossero 5 dovresti aggiungere un'altra riga incrementando il tutto di uno, aggiungendo un riferimento all'indietro |\\4\b:
    (?:,(?!\\1\b|\\2\b|\\3\b|\\4\b)$sub)?
    fossero 6 ne aggiungi un altra etc etc.
    dA .. foto di viaggio
    L'esperienza č il tipo di insegnante pių difficile.
    Prima ti fa l'esame, e poi ti spiega la lezione.

  9. #9

    .............


    Grazie ancora.
    Toglimi una curiositā se hai tempo e voglia
    la prima arrivo a capirla ma questa ho proprio
    seri problemi
    Me la potresti rendere in italiano corrente
    ie (?:,(?!\\1\b)$sub) non riesco proprio
    a decifrarla !

    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.