регулярное выражение для ввода неправильного адреса и ограничения пользователя с помощью javascript или jQuery - PullRequest
1 голос
/ 06 февраля 2020

Я попробовал кусок кода, чтобы ограничить пользователя, если адрес был введен неправильно, как показано ниже, пример адреса: # 23 78/54, A-31, Нанд-Джот-Индл-Эстейт, дорога Андхери-Курла, Саки Нака ( разрешено )

14/18, Лоха Бхаван, PD Mello Rd, Чинч Бандер, Мумбаи ( разрешено )

только ".....", " ,,,, "," ---- "( не разрешено )


 $("#" + (idOfElement)).on("keypress keyup", function (e) {
                        this.value = this.value
                            //.replace(/[^\..]/g,'')
                            .replace(/(^[\d#\w]+)/g, '$1')
                            .replace(/(\s[1-9A-Za-z\/#-]*)./g, '$1');

                    });

Я хочу, чтобы пользователю разрешалось вводить цифры, '#', '/', '- ', пробел и алфавиты, и если они вводят какие-либо другие специальные символы, это не должно позволять им делать это.

Код, приведенный ниже, работает нормально для числа с десятичной дробью до двух позиций. Точно так же я хочу сделать то же самое для адреса.

ниже код позволяет 12345.67

это не позволяет 23.4565, 23289.499999

//for numbers with decimal point upto two position
$("#" + (idOfElement)).on("keypress keyup blur", function (e) {
                        this.value = this.value
                            .replace(/[^\d.]/g, '')
                            .replace(/(^[\d]+)([\d]*)/g, '$1')
                            .replace(/(\..*)\./g, '$1')
                            .replace(/(\.[\d]{2})./g, '$1');
                        if ((e.which != 46 || $(this).val().indexOf('.') != -1) && (e.which < 48 || e.which > 57)) {
                            e.preventDefault();
                        }

Я также хочу, чтобы пользователь ввел только буквы алфавита с пробелами и цифрами.

образец данных: зубная паста 200 г ( разрешено )

шампунь .. ( не разрешено )

шампунь (с любым другим специальным символом, например!,?, _, ~) ( не допускается )

1 Ответ

1 голос
/ 06 февраля 2020

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

<input type="text" id="addressID">

  $(document).ready(function(){
  $("input").bind('input', function(e) {
  var str = $("#addressID").val();
  var re = new RegExp(/^[ A-Za-z0-9\/#-]*$/g);
  if (re.test(str)) {
          //alert('valid');

    } else {
       alert("Invalid address, only alphanumeric values and '/','#','-' allowed");
       $("#addressID").val($("#addressID").val().slice(0, -1));
    }
});
}); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...