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

    Registrarsi inserendo solo alcuni caratteri

    Nel sistema di registrazione che stò realizzando, vorrei dare la possibilità all'utente di registrarsi inserendo solo alcuni caratteri nel Form di registrazione: 0-9, a-z, A-Z

    Tutti gli altri caratteri devono essere scartati. Quale comando mi conviene utilizzare nello script ASP associato al Form (quello che riceve i dati dal form) ?

    Grazie
    Where there is a will, there is a way

  2. #2
    Utente di HTML.it L'avatar di viki1967
    Registrato dal
    Feb 2003
    Messaggi
    1,757
    Devi utilizzare una Regular Expression in asp oppure in javascript (in questo caso il controllo lo fai lato client-side e quindi direttamente sul forum da compilare).
    A S P : tutto il resto è noia...
    L I N U X : forse mi "converto"...

  3. #3
    Originariamente inviato da viki1967
    Devi utilizzare una Regular Expression in asp oppure in javascript (in questo caso il controllo lo fai lato client-side e quindi direttamente sul forum da compilare).
    Mmm.. non sarebbe male un controllo client-side... Puoi darmi un aiuto??
    Where there is a will, there is a way

  4. #4
    io faccio così

    codice:
    Dim objRegExp,
    Set objRegExp = New Regexp
    objRegExp.IgnoreCase = True
    objRegExp.Global = True
    
    '* CLEAN: nome utente
    objRegExp.Pattern = "[\\/%<>$*@\[\]()&?!|""']"
    sk_name = objRegExp.Replace(sk_name,"")
    sk_name = trim(sk_name)
    if len(sk_name) < 3 then response.write "nome troppo corto" : response.end
    elimino TUTTI i caratteri NON accettati

    un'altra soluzione è controllare solo QUELLI ACCETTATI

    ti basta fare una cosa di questo genere

    codice:
    Dim objRegExp
    Set objRegExp = New Regexp
    objRegExp.IgnoreCase = True
    objRegExp.Global = True
    
    '* CLEAN: nome utente
    sk_name = trim(sk_name)
    objRegExp.Pattern = "^\w{3,}$"
    if objRegExp.test(sk_name) then
    'nome accettato
    else
    'nome non accettato
    end if
    in questo caso valgono lettere, numeri e underscores
    e ho messo lunghezza minima del nome a 3 caratteri

    -----------------------

    tutto questo ovviamente è SERVER-SIDE

    il client-side va benissimo MA DEVE ESSERE SOLO UN CONTROLLO SUPERFLUO
    ovvero aiutare l'utente a vedere se "sta facendo bene"
    ma non può essere un controllo a livello di programmazione, poichè è aggirabile
    ci deve essere sempre e comunque un controllo SERVER-SIDE

    ciao
    san imente saluta

    * http://simonecingano.it *

  5. #5
    Grazie, provo e ti faccio sapere
    Where there is a will, there is a way

  6. #6
    Originariamente inviato da imente

    ...un'altra soluzione è controllare solo QUELLI ACCETTATI

    ti basta fare una cosa di questo genere

    codice:
    Dim objRegExp
    Set objRegExp = New Regexp
    objRegExp.IgnoreCase = True
    objRegExp.Global = True
    
    '* CLEAN: nome utente
    sk_name = trim(sk_name)
    objRegExp.Pattern = "^\w{3,}$"
    if objRegExp.test(sk_name) then
    'nome accettato
    else
    'nome non accettato
    end if
    in questo caso valgono lettere, numeri e underscores
    e ho messo lunghezza minima del nome a 3 caratteri
    Provato e funziona perfettamente; un'ultima cosa: se voglio accettare anche SPAZIO e ACCENTO ( ' ) cosa devo scrivere?
    Where there is a will, there is a way

  7. #7
    codice:
    objRegExp.Pattern = "^[\w ']{3,}$"
    se vuoi limitare la lunghezza massima fai

    codice:
    objRegExp.Pattern = "^[\w ']{3,15}$"
    ho immaginato lunghezza minima 3 e lunghezza massima 15
    san imente saluta

    * http://simonecingano.it *

  8. #8
    Utente di HTML.it L'avatar di viki1967
    Registrato dal
    Feb 2003
    Messaggi
    1,757
    Originariamente inviato da imente

    tutto questo ovviamente è SERVER-SIDE

    il client-side va benissimo MA DEVE ESSERE SOLO UN CONTROLLO SUPERFLUO
    ovvero aiutare l'utente a vedere se "sta facendo bene"
    ma non può essere un controllo a livello di programmazione, poichè è aggirabile
    ci deve essere sempre e comunque un controllo SERVER-SIDE

    ciao
    Giusta precisazione, ma ho pensato che fosse evidente.
    A S P : tutto il resto è noia...
    L I N U X : forse mi "converto"...

  9. #9
    Originariamente inviato da viki1967
    Giusta precisazione, ma ho pensato che fosse evidente.
    :rollo: ottimista
    san imente saluta

    * http://simonecingano.it *

  10. #10
    Originariamente inviato da imente
    codice:
    objRegExp.Pattern = "^[\w ']{3,}$"
    se vuoi limitare la lunghezza massima fai

    codice:
    objRegExp.Pattern = "^[\w ']{3,15}$"
    ho immaginato lunghezza minima 3 e lunghezza massima 15


    OTTIMO

    Se posso sdebitarmi un minimo, e sempre che tu già non lo sappia, ho trovato questa stringa per controllare le e-mail (che ho provato e sembra funzionare):




    ' Con questo verifico che abbia inserito una e-mail valida :-)

    Set objRegExp = New Regexp
    objRegExp.IgnoreCase = True
    objRegExp.Global = True

    objRegExp.Pattern = "(\w[-._\w]*\w@\w[-._\w]*\w\.\w{2,3})"

    IF objRegExp.test(lemail) THEN
    ' Ok, email accettata..
    ELSE
    ' Oops, e-mail sbagliata!
    END IF
    Where there is a will, there is a way

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.