Показать сообщение отдельно
  #2 (permalink)  
Старый 09.04.2011, 15:34
Профессор
Отправить личное сообщение для Matre Посмотреть профиль Найти все сообщения от Matre
 
Регистрация: 07.01.2011
Сообщений: 582

Я на днях для интереса писал функцию, которая достаёт из строки число.

function parseNumber(obj) {
	obj = (obj + "").match(/[e\.0-9-]+/gi) || [];
	for (var i = 0; i < obj.length; i++)
		if (/^-?(?:\d?\.)?\d+(?:e-?\d+)?$/i.test(obj[i]))
			return +obj[i];
	return null;
}


Успешно парсит знак "-" перед числом, десятичную точку и экспоненту (числа вида 17E3 т.е. 17000).

Набросок кода для использования этой ф-ции:

var num = parseNumber(this.value);
if (num === null)
	this.value = "";
else
	this.value = num;

Последний раз редактировалось Matre, 09.04.2011 в 15:36.
Ответить с цитированием