Newsgroup: it.comp.lang.javascript
Titolo: isnumeric() VBS come è in JS?

esiste qualche istruzione in javascript che mi verifichi se un dato è
numerico?




Ciao a tutti!
Che sappia io, no ... però quando devo convalidare dei moduli con dati
numerici solitamente uso questa function:
function isNum (valore) {
    if (valore.charAt(0)==" ")
      return false
    else if (valore/1==valore)
       return true
    else
      return false
}
ritorna vero se il valore passato è numerico, altrimenti falso.
Ciao, blavoro...
Ezio BOnsi

 ha scritto nel messaggio
news:8cf33m$kl2$1...@fe1.cs.interbusiness.it...


numerico?
Oggi mi sento particolarmente fuori di zucca (.. il mio cane mi ha
svegliato alle 4 del mattino, ma non credo che possa interessare al
popolo. ^____^ ), quindi non stupirti se partorisco una funzione come
quella che trovi qua sotto...
Avendola fatta al volo, con il mal di testa che mi ritrovo, pero', non
ne garantisco la bonta'. :D
function isNumeric(paramValue){		
	var dummy = new String(parseFloat(paramValue));	
	return ( (typeof(paramValue) == 'number') || (dummy ==
paramValue) )
}
Qualche esempio pratico:
isNumeric("j8") = false
isNumeric(8) = true
isNumeric(12.33) = true
isNumeric("12.33") = true
isNumeric("12") = true
isNumeric("12,33") = false
Tecnicamente la funzione potrebbe svolgere il suo lavoro anche
riducendola cosi':
function isNumeric(paramValue){		
	var dummy = new String(parseFloat(paramValue));	
	return (dummy == paramValue)
}
Ma volevo introdurre il "typeof". :)
Il typeof e' una funzione che ti restituisce il tipo di oggetto
passatogli come parametro.
In pratica, fa esattamente quello che fa la "vartype" di VBscript.
Quindi puo' esserti utile in alcuni casi, senza dover ricorrere
necessariamente ad una funzione tipo "isNumeric".
Spero di esserti stato di aiuto, e di non aver fatto un codice
sballato (ma non ci giurerei visto come sono ridotto.. ^____^; ),
prova e sappimi dire! :)
--
C'ya, 
  |
  |
'/|\'
\\O//
//"\\
'\ /'
________________________________________TagLine___
"Quanti Angeli danzano sulla punta di uno spillo?"

"Luca"
la funzione javascript č: isNaN(valore)
restituisce un Boolean true se il valore č un numero.
glass, mi deludi...
--
N'Drillo


Grazie funziona, ma una cosa non ho capito :
non mi dovrebbe funzionare gia utilizzando il risultato di typeof ? perchč devo ricorrere anche all'utilizzo di dummy=(new string(parseFloat(paramValue)) ? e perchč questa variabile la creo come stringa?
scusa se possono essere domande banali ma il javascript lo mastico poco.
Grazie mille













scusa se possono essere domande banali ma il javascript lo mastico poco.
Non sono cmq domande banali, nel senso che le risposte non sono
propriamente immediate.
E poi non preoccuparti. Siamo tutti qui per imparare, infine, no? :)


glass, mi deludi...
Ma ne sei davvero sicuro?
.. Potresti postare qualche esempio funzionante?


glass, mi deludi...
Ma ne sei davvero sicuro?
.. Potresti postare qualche esempio funzionante?
Perche' cosi' come esponi tu la sintassi sembra che basti usare
isNaN(valore_da_controllare), mentre in realta', almeno da quel che so
io, la sintassi e' differente, e isNaN da sola serve relativamente a
poco.
Poi, puo' darsi che mi sbagli per carita'.. Dopotutto, siamo qui per
imparare, no? :)



Ciao,
a me risulta che isNaN() corrisponda a "is Not a Number" ... quindi che
restituisca true se il valore NON è un numero, e false se il valore è un
numero:
es:
if (isNan(valoreEta))
   alert("Inserire un valore numerico!")
Praticamente è il contrario di isnumeric()!
ciao, blavoro ...
Ezio BOnsi

Praticamente è il contrario di isnumeric()!
Esattamente..
.. isNaN() funziona davvero cosi', e il reference di JS ti da'
ragione.
Devo essere stato veramente cotto per non accorgermente. :)
Spesso ci complichiamo la vita.. dio, fra tutti abbiamo messo insieme
un bel po' di funzioni inutili o quasi! ;)
Anche te mi sembra che avevi postato inizialmente un'altra funzione
che ti facesse il controllo di un valore, se era numerico o meno, se
non sbaglio.. :)
Beh, l'importante e' che adesso siamo arrivati alla banalissima (eppur
sfuggevole) conclusione che la funzione isNumber in Javascript altro
non e' che "!isNaN(value)"...
^___________^
.. Oh beh, non si smette mai di imparare, alla fine. :)



grazie a tutti

 restituisce un Boolean true se il valore č un numero.


 imparare, no? :)
ok, forse ho dimenticato che dentro isNaN ci va un bel
parseFloat(valore).... ecco la specifica:
-----------------------------------------------------------------------
Descrizione
Restituisce un valore booleano che indica se un valore corrisponde al valore
riservato NaN (non numerico).
Sintassi
isNaN(valorenum)
L'argomento valorenum è il valore da verificare in base al valore NaN.
Osservazioni
La funzione isNaN restituisce true se il valore corrisponde a NaN,
restituisce false in caso contrario. Viene in genere utilizzata per
verificare i valori restituiti dai metodi parseInt e parseFloat.
In alternativa, è possibile confrontare una variabile con se stessa. Se il
confronto indica una differenza, significa che la variabile è uguale al
valore NaN. NaN è infatti l'unico valore che non risulta mai uguale a se
stesso.
----------------------------------------------------------------------------
----