Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 25.07.2011, 17:06
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

замени в регулярке kobezzza \. на \.? и проблема с множеством точек уйдёт
и + на * -на вариант чисел типа .76 и 76.
итого ^\d*\.?\d*$

Последний раз редактировалось dmitriymar, 25.07.2011 в 17:08.
Ответить с цитированием
  #12 (permalink)  
Старый 25.07.2011, 17:16
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

проверяй этой регуляркой если не соответствует из введённого отсекай последнее ведённое. у тебя при вводе строка,что мешает вычислить длинну её и отсечь последнее если не соответствует регулярке?
Ответить с цитированием
  #13 (permalink)  
Старый 25.07.2011, 17:38
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Сообщение от kobezzza
\d+\.\d+
alert(/\d+\.\d+/.test('asffg3.4fsf'))


А надо так: ^\d+\.\d+$
P.S. Aetae зря удалил свой пост.
Ответить с цитированием
  #14 (permalink)  
Старый 25.07.2011, 17:57
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,480

Подумал, что все и так тут вумные, разбирутся) А вон оно как.)
__________________
29375, 35
Ответить с цитированием
  #15 (permalink)  
Старый 29.07.2011, 01:05
Интересующийся
Отправить личное сообщение для Volk_88 Посмотреть профиль Найти все сообщения от Volk_88
 
Регистрация: 23.07.2009
Сообщений: 17

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

<input name="amount_" onkeydown="amounte(event, this)" />  Тираж, тыс
<div id="a"></div>

<script language="javascript">
function amounte(event, elem){
	var kc = event.keyCode, v = elem.value, l = elem.value.length, cancel = false;
	
	// Разрешаем Backspace (<--)
	if(kc == 8) return;
	
	// Проверям повторый ввод точки или запятой
	if((kc == 110 || kc == 188 || kc == 190) && /(\.|\,)/.test(v)){
		cancel = true;
	}
	
	// Разрешаем вводить символы: 0123456789.,
	if(!((kc > 48 && kc < 58) || (kc > 95 && kc < 106) || kc == 110 || kc == 188 || kc == 190) || (l == 0 && (kc == 110 || kc == 188 || kc == 190))){
		cancel = true;
	}
	
	if(cancel){ // Завершаем событие, символ не печатается в поле
		if(event.preventDefault) event.preventDefault();
		if(event.stopPropagation) event.stopPropagation();
		event.cancelBubble = true;
		event.returnValue = false;
		return false;
	}
}
</script>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
input выбор числа vanderv jQuery 3 16.11.2010 07:40
Числа в поле для вычисления sergey-16a1 Javascript под браузер 5 19.08.2010 17:29
Вбор числа после определенного символа в строке Jekel Серверные языки и технологии 2 21.03.2010 13:17
число 76.4705882.. сделать 76.47? (числа всегда разные) TongaG Ваши сайты и скрипты 3 19.01.2010 07:35
Перевод числа из одной СС в другую News Общие вопросы Javascript 3 08.09.2008 09:46