Есть ли функция для проверки, является ли строковая переменная числовым значением?

есть ли способ проверить строку, как показано ниже, чтобы увидеть, если это реальное число?

var theStr:String = '05';

Я хочу различать строковое значение выше и такое, как это:

var theStr2:String = 'asdfl';

спасибо!

3 ответов


Да использовать isNaN функция для проверки, если это String действительный Number:

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

вы должны бросить в Number получить NaN. Если вы используете int буквы могут быть брошены в 0.


Если вы просто заинтересованы в проверке целых чисел, вы можете использовать функцию соответствия следующим образом, регулярное выражение для чисел сложнее, и вам, вероятно, будет лучше следовать методу литья, предоставленному Патриком.

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

конечно, если вам нужно будет бросить его в любом случае, то использование isNaN имеет смысл. Просто подумал, что могу предложить альтернативу на случай, если ты не собираешься ее использовать.

этот код вернет true, если s содержит только цифры (нет пробелы, десятичные дроби, буквы и т. д...) и требует наличия не менее 1 цифры.