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

    JS: caratteri non validi

    Ciao,
    ho preso spunto in un precedente post sul controllo di un campo.

    http://forum.html.it/forum/showthrea...eri+non+validi

    codice:
    ...
    if(nickname.search(/[^A-Za-z0-9]/)>0) {
      alert("Il campo Nickname non puo` contenere caratteri speciali");
       document.modulo.nickname.focus();
       return false;
    ...
    }

    però, visto che i campi mi servono per attivare account mail, alcuni caratteri speciali come il "punto" "underscore" e simili, sono ammessi purchè non iniziano per primi.
    come posso modificare il codice js ed intercettare che il primo carattere del campo non li contenga e lasciarli passare se intercettati in seguito ?
    IMPOSSIBLE IS NOTHING - LOOK BEFORE YOU LEAP !!!

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    if(!nickname.match( /^[A-Za-z0-9]+?\@([A-Za-z0-9]+?\.)+[a-zA-Z]{2,6}$ / ) {

    Nota il ! davanti a nickname, e la diversa impostazione della RegExp
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Cia e grazie per l'esempio.

    Ho costruito una piccola funzione ma qualcosa non quadra.
    Ho stabilito che il campo non deve iniziare con caratteri diversi che non siano dalla a-z > A-Z > 0-9 di lunghezza compresa tra 2 e 25 caratteri.
    Il problema è quello di impedire che dopo il primo controllo, comunque non vi siano caratteri accentati , parentesi, simboli ecc.
    e che fra questi vengano accettati il trattino, l'underscore

    Non riesco a costruire il PATTERN cioè indicare più situazioni da controllare. Come fai ad aggiungere più controlli in successione ?
    Ho dato una sbirciatina ad una guida ma credo di non aver compreso il meccanismo. http://www.devspy.com/Art/Lang/Art.aspx?id=00071

    codice:
    <html>
    <script type="text/javascript" Language="Javascript">
    function verifica() {
      var campo=document.modulo.account.value;
      var pattern=/^[A-Za-z0-9]{2,25}/;
      var risultato= pattern.test(campo);
      alert(risultato);
    }
    </script>
    
    
    <body>
    <form name="modulo" >
     <input type="text" name="account" onBlur="verifica()" size="25" value="prova">
    </form>
    
    </body>
    
    </html>
    IMPOSSIBLE IS NOTHING - LOOK BEFORE YOU LEAP !!!

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Per il tuo pattern andrebbe bene:
    A1()*&^%
    Ciao!@#$
    1234567890123456789012345$%^...

    Infatti la stringa inizia per due o piu` caratteri ammessi, poi prosegue con altri non ammessi.

    Non vanno bene:
    A(ciao)
    123456789012345678901234567890

    Ora non ho capito le specifiche che vuoi (per me la tua frase "Ho stabilito che il campo non deve iniziare con caratteri diversi che non siano dalla ..." e` incomprensibile). Se riformuli la cosa in italiano e in un linguaggio formalmente corretto, posso vedere di aiutarti.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Ho stabilito che il campo non deve iniziare con caratteri diversi, che non siano dalla a-z > A-Z > 0-9 di lunghezza compresa tra 2 e 25 caratteri.
    comunque grazie per essere stato così esplicito nel sottolineare la carenza di chiarezza della mia richiesta. Sai, esistono modi diversi per dire che non avevi capito un tubo di quello che ti avevo chiesto.
    Tuttavia, comprendo la situazione, del resto partecipi quotidianamente a svariate discussioni e perdere del tempo per richieste incomprensibili sarebbe molto noioso.
    Ancora grazie per tutto l'aiuto che mi hai dato, credo di non averne + bisogno, ho risolto il problema della costruzione del pattern.

    Tutta colpa di un "NON" di troppo !!!

    E poi, visto che non sono un italiano mi sembra un bel linguaggio quello che ho utilizzato, ... Are you agree ?

    P.S.
    mi meraviglia il tuo tono pungente. ... e poi dicono ....
    IMPOSSIBLE IS NOTHING - LOOK BEFORE YOU LEAP !!!

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non voleva essere una risposta pungente. Nel modo piu` assoluto.

    Solo che se si vuole trasformare una frase in una formula matematica (e le regexp sono equivalenti a formule matematiche) occorre essere precisi al massimo. Indipendemente dalla lingua utilizzata.

    PS. Comunque non si capisce che non sei italiano: ci sono italiani che si esprimono anche peggio; mi pare pero` che non sia neppure di madrelingua inglese.

    Ancora non ho capito cosa vuoi: forse alcuni esempi di stringhe valide e non valide potrebbero aiutare.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    ... ti ringrazio, ho risolto leggendo con fatica una guida che avevo indicato.

    ... non sono inglese.

    Ciao
    IMPOSSIBLE IS NOTHING - LOOK BEFORE YOU LEAP !!!

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Ho controllato quel link che avevi postato.
    Non mi sembra tra i migliori.

    Ti segnalo questi altri:
    http://www.devguru.com/technologies/...ipt_index.html (devi cercare RegExp)

    http://www.perldoc.com/perl5.6.1/pod/perlretut.html e http://www.perldoc.com/perl5.6.1/pod/perlre.html quest'ultimo e` fatto per il Perl, per cui non tutto e` uguale in JS; pero` e` fatto bene e si capisce (a mio parere)
    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 © 2025 vBulletin Solutions, Inc. All rights reserved.