2010-06-16 14 views

risposta

13

Si usa isNaN funzione per verificare se l'String è una valida Number:

var n:Number=Number(theStr); 
if (isNaN(n)){ 
trace("not a number"); 
} else { 
trace("number="+n); 
} 
+0

Sorpreso, nessuno lo ha individuato finora ma val dovrebbe essere var. Non mi permetterebbe di cambiare solo il carattere = = – Rjs37

+0

Buon punto;) facendo troppa Scala credo – Patrick

0

Se sono solo interessati a verificare interi è possibile utilizzare la funzione match come segue, l'espressione regolare per i numeri è più complicato e probabilmente staresti meglio seguendo il metodo di casting fornito da Patrick.

if (s.match(/^\d+$/)){//do something} 

Naturalmente se avete bisogno di lanciarlo comunque, usare isNaN ha perfettamente senso. Ho pensato di offrire un'alternativa nel caso in cui non avessi intenzione di lanciarlo.

Questo codice restituirà true se s contiene solo cifre (senza spazi, decimali, lettere ecc ...) e richiede che ci sia almeno 1 cifra.

2

È necessario trasmettere a Number per ottenere è NaN. Se si utilizzano le lettere int, è possibile trasmettere a 0 lettere.

Problemi correlati