Ограничения для типа ввода = текст - PullRequest
0 голосов
/ 21 октября 2019

Может ли кто-нибудь помочь мне с ограничениями для ввода текста?

<input type = text size = 18 name = part_numb value = '' pattern = '([A-NP-Z0-9 -]). {0,50}' id = 'part_numb' required>

В этом случае это не работает.

Мои ограничения:

  1. Значение не может содержать буквы «O», автозамена на число «0»

  2. Значение не может содержать маленькие буквы, только заглавные. (автозамена)

  3. Значение не может содержать специальные символы, кроме "-", но значение не может начинаться или заканчиваться на "-" (автоудаление)

  4. Значение не может содержать свободные пробелы. (автоматическое удаление)

5. Этот ввод обязателен.

Символы должны быть "AN", "PZ", "0-9", "-"

Я думаю, что нужно использовать "onChange", но я не уверен.

Пожалуйста, извините, если эта тема не для этого.

Заранее спасибо.

1 Ответ

0 голосов
/ 24 октября 2019

Может быть, это немного глупо написал, но это так, как это почти работает. Я выполнил почти все правила. Но правило не начинать с "-" Я понятия не имею, как реализовать. Пожалуйста, помогите мне.

Заранее спасибо.

    <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

</head>
<body>
    <script src="http://code.jquery.com/jquery-2.1.1.js"></script>
<input type="text" class="text" name="part_numb" id="part_numb" value="" onkeyup="valid(this)" onblur="valid(this)" required>
    <script type="text/javascript">
    
  function valid(f) {
!(/^[A-Z;0-9;-]*$/i).test(f.value)?f.value = f.value.replace(/[^A-Z;0-9;-]/ig,''):null;
} 

        $('body').on('input', 'input[name=part_numb]', function() {

  $(this).val($(this).val().replace('a', 'A'));
  $(this).val($(this).val().replace('b', 'B'));
  $(this).val($(this).val().replace('c', 'C'));
  $(this).val($(this).val().replace('d', 'D'));
  $(this).val($(this).val().replace('e', 'E'));
  $(this).val($(this).val().replace('f', 'F'));
  $(this).val($(this).val().replace('g', 'G'));
  $(this).val($(this).val().replace('h', 'H'));
  $(this).val($(this).val().replace('i', 'I'));
  $(this).val($(this).val().replace('j', 'J'));
  $(this).val($(this).val().replace('k', 'K'));
  $(this).val($(this).val().replace('l', 'L'));
  $(this).val($(this).val().replace('m', 'M'));
  $(this).val($(this).val().replace('n', 'N'));
  $(this).val($(this).val().replace('o', '0'));
  $(this).val($(this).val().replace('O', '0'));
  $(this).val($(this).val().replace('p', 'P'));
  $(this).val($(this).val().replace('q', 'Q'));
  $(this).val($(this).val().replace('r', 'R'));
  $(this).val($(this).val().replace('s', 'S'));
  $(this).val($(this).val().replace('t', 'T'));
  $(this).val($(this).val().replace('u', 'U'));
  $(this).val($(this).val().replace('v', 'V'));
  $(this).val($(this).val().replace('w', 'W'));
  $(this).val($(this).val().replace('x', 'X'));
  $(this).val($(this).val().replace('y', 'Y'));
  $(this).val($(this).val().replace('z', 'Z'));
  $(this).val($(this).val().replace(' ', ''));
  $(this).val($(this).val().replace('-', '-'));
  
});
    </script>

</body></html>
...