rkthiyagarajan Ответов: 1

Вставить через мышь валидация не работает


Я делаю некоторую проверку с помощью JQuery, и все работает очень хорошо, но я копирую откуда-то еще и вставляю через клавиатуру, работает нормально, но вставка через мышь не работает.

Что я уже пробовал:

var OrderNumber = document.getElementById("#OrderNumber");
       if (typeof OrderNumber !== "undefined" || OrderNumber !== null) {
           $(function () {

               $('#OrderNumber').keypress(function (e) {

                   //8 - Backspace, 35 - end, 36 - home, 37 - Left arrow, 39 - right arrow, 46 - delete
                   if (e.keyCode == 8 || e.keyCode == 35 || e.keyCode == 36 || e.keyCode == 37 || e.keyCode == 39 || e.keyCode == 46) {
                       return true;
                   }

                   var allowedChars = new RegExp("^[a-zA-Z0-9\-\_\s\ \.\#\]");
                   var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);
                   if (allowedChars.test(str)) {
                       return true;
                   }
                   else {

                   }
                   e.preventDefault();
                   return false;
               }).keyup(function () {
                   var forbiddenChars = new RegExp("[^a-zA-Z0-9\-\_\s\ \.\#\]", 'g');
                   if (forbiddenChars.test($(this).val())) {
                       $(this).val($(this).val().replace(forbiddenChars, ''));
                   }
               });

           });
       }
   });

1 Ответов

Рейтинг:
0

User 7429338

Ваш код проверки запускается нажатием клавиши, которая работает с CTRL-V, но не с мышью. Вы могли бы использовать событие onpaste [^] и сделайте проверку там же.