Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1

    Controllo difficile: espressioni regolari?

    Ho bisogno di un controllo che impedisca l'invio di un form ed avvisi l'errore con un alert qualora in un campo testo i valori inseriti non siano del tipo: AAA-100

    In pratica devono essere 3 lettere ed un numero separati da un trattino. Il numero può essere anche con la virgola... basta che sia un numero.

    Nello steso campo testo possono essere inseriti più valori del genere ma devono essere separati da spazi...


    In asp userei le espressioni regolari che non so usare in javascript. Qualcuno può aiutarmi?


    Grazie 8)

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    3,259
    credo che questa espressione vada bene

    <script language="JavaScript" type="text/javascript">
    stringa="AAA-13,12";
    re=/^[a-z]{3}-\d+(,\d+)?$/gi
    alert(re.test(stringa));
    </script>


    per virgola, ho inteso proprio virgola. se intendi il punto, sistituisci "," con "\."

  3. #3

    non funziona, non mi valida mai la stringa anche se corretta

    <html>
    <head>
    <script language="JavaScript" type="text/javascript">
    function validaaeroporti(aeroporti)
    {
    var stringa= new String(aeroporti)
    var regExpObj = /^[a-z]{3}-\d+(,\d+)?$/

    if (regExpObj.exec(stringa) == null)
    {
    alert("erroreeeeee!");
    }
    else
    {
    alert("oki");
    }
    }
    </script>
    </head>

    <body>
    <form name="form1" method="post" action="">

    <table border="1" cellpadding="0" cellspacing="0" bordercolor="#000000">
    <tr>
    <td bordercolor="#E9E9E9
    <input name="aeroporti" type="text" id="aeroporti" size="35">
    <td>
    </tr>
    </table>




    <input type="button" name="Submit" value="Pulsante" onClick="validaaeroporti(document.form1.aeroporti. value)">
    </form>
    </body>
    </html>

  4. #4
    cosa è la gi alla fine dell'espressione?

  5. #5
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Infatti funziona.... salvo che consente l'immissione di minuscole. Per le maiuscole -> var regExpObj = /^[A-Z]{3}-\d+(,\d+)?$/


    g significa che la ricerca non si ferma al primo match

    i significa che non fa differenza tra maiuscole e minuscole

  6. #6

    grazie :)

    ho scoperto che questa cerca tre lettere uguali ma a me servono tre lettere anche diverse tipo ABC quindi ho modificato come segue e funziona:

    regExpObj = /^[A-Z][A-Z][A-Z]-\d+(,\d+)?$/

    però allinterno della stringa da convalidare devono poter esserci più di una ripetizione separate da spazi, ad esempio:

    ABC-12 QWE-20,32 TVB-0




    è possibile?

  7. #7

    up


  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Mi sono perso in questa discussione.

    Tutto e` possibile, ma andiamo conordine.

    [A-Z]{3}
    e` esattamente identico a
    [A-Z][A-Z][A-Z]

    /g fa un controllo globale
    /i ignora maiuscole/minuscole.

    Con la tua sintassi, devi definire:
    var regExpObj = new RegExp("^[a-z]{3}-\d+(,\d+)?$", "gi");

    ---

    Parto ora dall'ultima RE funzionante:
    /^[A-Z][A-Z][A-Z]-\d+(,\d+)?$/
    che mi permetto id riscrivere:
    /^[A-Z]{3}-\d+(,\d+)?$/

    Per permettere una ripetizione basta racchiudere in () e aggiungere "+" Ci vuole anche uno spazio opzionale alla fine:
    /^([A-Z]{3}-\d+(,\d+)?\s*)+$/

    In realta` piu` corretto sarebbe:
    /^[A-Z]{3}-\d+(,\d+)?(\s*[A-Z]{3}-\d+(,\d+)?)*$/

    Vedi anche la trattazione delle RegExp fatta da devGuru:
    http://www.devguru.com/technologies/...ef/regexp.html
    e link collegati.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  9. #9
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    311
    Originariamente inviato da Mich_
    ........
    Vedi anche la trattazione delle RegExp fatta da devGuru:
    http://www.devguru.com/technologies/...ef/regexp.html
    e link collegati.
    Ciao... non c'è da qualche parte la spiegazione in italiano?

    Grasssssssiiiiiiiiiiieeeeeeeeeeeee

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non ho mai visto traduzioni. Forse in qualche manuale di tipo divulgativo.

    Il fatto e` che e` molto meglio avere una cosa fatta bene ed avere qualche problema conla lingua, che una cosa in italiano e contenente errori - non credo che una trattazione completa delle regexp abbia un bacino di utlizzo tale da giustificare una traduzione.
    E una cosa approssimativa non ha senso quando si tratta di regexp.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

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 © 2026 vBulletin Solutions, Inc. All rights reserved.