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

Проверка значения поля на ходу и обрезание лишнего..
Здравствуйте, уважаемые форумчане!

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

Есть форма(типо калькулятора), в которую можно вводить только число. Число может иметь дробную часть, т.е. содержать точку.

Нужно сделать проверку для этой формы. Чтобы если мы вводим туда не число, все что не число удалялось.

Я сделал так:

function f() {
var d = document.getElementById('d');
var re = /^[0-9]+\.?[0-9]*$/;

if(d.value.search(re) ==-1) { d.value="";}

}


<input type="text" value="0"  onKeyUp="f()" id="d" onblur="if(this.value == '') { this.value='0'}" onfocus="if (this.value == '0') {this.value=''}" />


Но при таком раскладе, удаляется все полностью... Т.е. если я ввел к примеру 1234бв -то удалится полностью вся строка. А мне нужно чтобы удалялись на каждом шаге ввода, только те символы, которые не подходят под маску.

Как здесь http://obmenov.com/

Я подозреваю, что как-то можно запоминать позицию, начиная с которой перестает совпадать, и потом обрезать строку по эту позицию...

Но функций найти не могу...

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