Здравствуйте, уважаемые форумчане!
Помогите пожалуйста решить задачу, честное слово пытался решить самостоятельно, но не получилось пока...
Есть форма(типо калькулятора), в которую можно вводить только число. Число может иметь дробную часть, т.е. содержать точку.
Нужно сделать проверку для этой формы. Чтобы если мы вводим туда не число, все что не число удалялось.
Я сделал так:
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/
Я подозреваю, что как-то можно запоминать позицию, начиная с которой перестает совпадать, и потом обрезать строку по эту позицию...
Но функций найти не могу...