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