77 messaggi dal 24 giugno 2005
ciao a tutti!
una domanda: come posso capire se tramite un input type=text ho inserito un numero oppure altri tipi di caratteri? vorrei infatti fare in modo che, con una banale condizione IF, se inserisco solo numeri ottengo un messaggio "OK", mentre se inserisco almeno un carattere che non sia un numero ottengo un messaggio di errore... potreste gentilmente indicarmi un metodo rapido e di facile implementazione?
il dato è passato tramite form method POST ed è un request.form("numero")
grazie a tutti!
t.
Modificato da tizz il 12 settembre 2006 11.21 -
28 messaggi dal 02 marzo 2006
molto banalmente , controlli che la stringa passata non abbia le lettere dell' alfabeto all' interno.

fai un ciclo , prendi una lettera di riferimento ( es. A ) e controlli che non ci sia nella stringa.

se il risultato è false ( nessuna lettera ) è solo numerico , oppure con del javascript ancora prima dell' invio dle form
28 messaggi dal 02 marzo 2006
molto banalmente , controlli che la stringa passata non abbia le lettere dell' alfabeto all' interno.

fai un ciclo , prendi una lettera di riferimento ( es. A ) e controlli che non ci sia nella stringa.

se il risultato è false ( nessuna lettera ) è solo numerico , oppure con del javascript ancora prima dell' invio dle form
Prova così:

<%
Dim num : num = Request.Form("numero")

If IsNumeric(num) And InStr(num, ".") = 0 And InStr(num, ",") = 0 Then
    Response.Write "OK"
Else
    Response.Write "Inserire un numero"
End If

%>


NOTA: IsNumeric accetta anche "." e "," (la stringa è convertibile in un numero decimale) quindi ho aggiunto anche i due controlli InStr.

In alternativa puoi usare una RegExp


Considera cmq di effettuare *anche* un controllo prima dell'invio del form (lato client con javascript). Con js puoi usare isNaN o una RegExp.

Matteo Casati
GURU4.net

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.