Есть ли функция для проверки, является ли строковая переменная числовым значением?
есть ли способ проверить строку, как показано ниже, чтобы увидеть, если это реальное число?
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);
}
Если вы просто заинтересованы в проверке целых чисел, вы можете использовать функцию соответствия следующим образом, регулярное выражение для чисел сложнее, и вам, вероятно, будет лучше следовать методу литья, предоставленному Патриком.
if (s.match(/^\d+$/)){//do something}
конечно, если вам нужно будет бросить его в любом случае, то использование isNaN имеет смысл. Просто подумал, что могу предложить альтернативу на случай, если ты не собираешься ее использовать.
этот код вернет true, если s содержит только цифры (нет пробелы, десятичные дроби, буквы и т. д...) и требует наличия не менее 1 цифры.