Существует ли способ протестировать строку, такую как та ниже, чтобы видеть, является ли это фактическое числовое значение?
var theStr:String = '05';
Я хочу дифференцироваться между строковым значением выше и один, таким как это:
var theStr2:String = 'asdfl';
Спасибо!
Да, используйте функцию isNaN
, чтобы проверить, является ли строка
допустимым числом
:
var n:Number=Number(theStr);
if (isNaN(n)){
trace("not a number");
} else {
trace("number="+n);
}
Если вас просто интересует проверка целых чисел, вы можете использовать функцию сопоставления следующим образом: регулярное выражение для чисел более сложное, и вам, вероятно, будет лучше следовать методу приведения, который предоставил Патрик.
if (s.match(/^\d+$/)){//do something}
Конечно, если вам все равно нужно его преобразовать, то использование isNaN имеет смысл. Просто подумал, что предлагаю альтернативу на случай, если ты не собирался ее разыгрывать.
Этот код вернет истину, если s содержит только цифры (без пробелов, десятичных знаков, букв и т. Д.) И требует наличия хотя бы 1 цифры.