Как при вставке из буфера обмена в поле input вырезать всё кроме цифр?

Samail
На сайте с 10.05.2007
Offline
369
954

Есть поле которое предназначено только для цифр.

		function onlyNumber(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();
}
}


<input id="ID" type="text" name="ID" value="'||stb.an_1||'" maxlength=8 onKeyPress="onlyNumber(event);" onFocus="setBlur('||i||');" placeholder="(только цифры)" >

При вводе с клавиатуры работает нормально, но если вставлять из буфера обмена, то вставляется и текст, как сделать что-бы при вставке из буфера, например "Ваш ID: 123456" вставлялось только "123456"?

[umka]
На сайте с 25.05.2008
Offline
456
#1

<input type="text" onPaste="e=this;setTimeout(function(){e.value=e.value.replace(/[^0-9]/g,'');},0);">

Лог в помощь!
Samail
На сайте с 10.05.2007
Offline
369
#2

[umka], спасибо, вставляются только цифры.

Но там стоит ограничение на ввод 8 символов, т.е. если вставлять "Ваш ID: 123456" ничего не вставится, а если "1234". Можно ли как-то сделать, что-бы считались только цифры?

LEOnidUKG
На сайте с 25.11.2006
Offline
1762
#3
Samail:
[umka], спасибо, вставляются только цифры.
Но там стоит ограничение на ввод 8 символов, т.е. если вставлять "Ваш ID: 123456" ничего не вставится, а если "1234". Можно ли как-то сделать, что-бы считались только цифры?

Да просто подставьте туда вызов вашей функции.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий