Убираем 0 в начале вводимой строки
Добрый день.
Подскажите пожалуйста, есть вот такой вот код, который срабатывает при вводе символа в input, но он дает возможность вначале суммы вводить много нулей, как же добавить проверку, что бы первым символом не был нуль. function validate(evt) { var theEvent = evt || window.event; var key = theEvent.keyCode || theEvent.which; key = String.fromCharCode(key); var regex = /[0-9]|/; if( !regex.test(key) ) { theEvent.returnValue = false; if(theEvent.preventDefault) theEvent.preventDefault(); } } Спасибо! |
function validate(evt) { var theEvent = evt || window.event; var target = theEvent.target || theEvent.srcElement; var key = theEvent.keyCode || theEvent.which; key = String.fromCharCode(key); var regex = /[0-9]|/; if( !regex.test(key) || (!target.value.length && !+key)) { theEvent.returnValue = false; if(theEvent.preventDefault) theEvent.preventDefault(); } } |
Спасибо, сейчас попробую
|
Если я выделяю строку, а потом нажимаю 0, то тогда я могу проставить много нулей.
Подскажите, как быть. |
Задача в такой постановке вообще не решается. Вы можете ввести число 100000000000000, потом мышкой выделить единичку и удалить ее.
|
Надо делать ParseInt и если == 0, тогда очищать строку.
|
или можно заюзать мою старую наработку:
<script type="text/javascript" src="https://raw.github.com/devote/letJS/master/let.js"></script> <div>Вводить разрешено только числа, любые. Дробные включительно.</div> <input type="text" data-let-input="/^[0-9\.]+$/" data-let-template="/^(\d+\.?\d{0,2}|)$/" /> <div>Вводить разрешено только целые числа.</div> <input type="text" data-let-input="/^[0-9]+$/" data-let-template="/^(\d*)$/" /> <div>Вводить разрешено только целые числа и запрещено число 0 в начале.</div> <input type="text" data-let-input="/^[0-9]+$/" data-let-template="/^([1-9]\d*|)$/" />Данная библа работает для элементов INPUT и TEXTAREA, так же для TEXTAREA есть дополнительный атрибут: data-let-length="100" указывающий максимальное количество символов ввода текста. Так же включена обработка вставки и вырезки буфера обмена. Лежит в Gist: https://gist.github.com/devote/5264299 |
Спасибо большое! Очень хорошая библиотека, уже юзаю =)
|
Часовой пояс GMT +3, время: 14:17. |