Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Проверить Input (https://javascript.ru/forum/misc/73860-proverit-input.html)

Зосимов 23.05.2018 15:31

Цитата:

Сообщение от laimas (Сообщение 485877)
:D

Как именно? То что рони написал не годится?

У вас условие означает: если не пусто, то, если соответствует условию ..., иначе .... При этом не видно реакции на пустое значение.

А может быть и так: если пусто или не соответствует условию, то...., иначе.... При этом может требоваться отдельно сообщать о пустом значении и несоответствии. То есть можно переписать так: если пусто ..., иначе, если не соответствует, то...., иначе ....

Так чего надо то?

мне нужно - если значения ВСЕХ инпут не пусто, и значения ВСЕХ соответствуют условию, то - console.log(значения полей)
если хоть один input не соответствует условиям то - alert("error")

рони 23.05.2018 15:40

Цитата:

Сообщение от Зосимов
мне нужно - если значения ВСЕХ инпут не пусто, и значения ВСЕХ соответствуют условию, то - console.log(значения полей)

var inputs=document.querySelectorAll('.bel');
var res = [];
var validity = [].every.call(inputs, function(node) {
   var str = node.value.trim();
   res.push(str);
   return  str && /^(C|M|X)/.test(str)
});

if(validity)  console.log(res);
else console.log("err");

Зосимов 23.05.2018 15:43

Цитата:

Сообщение от рони (Сообщение 485881)
var inputs=document.querySelectorAll('.bel');
var res = [];
var validity = [].every.call(inputs, function(node) {
   var str = node.value.trim();
   res.push(str);
   return  str && /^(C|M|X)/.test(str)
});

if(validity)  console.log(res);
else console.log("err");

всегда err

может из за пустых полей?

рони 23.05.2018 15:47

Цитата:

Сообщение от Зосимов
может из за пустых полей?

Цитата:

Сообщение от рони
если значения ВСЕХ инпут не пусто,

:-?

Зосимов 23.05.2018 15:52

Цитата:

Сообщение от рони (Сообщение 485883)
:-?

это первая проверка на пустое значение :)

Зосимов 23.05.2018 15:58

рони,
если значения ВСЕХ инпут не пусто, и значения ВСЕХ соответствуют условию

рони 23.05.2018 16:00

Цитата:

Сообщение от Зосимов
это первая проверка на пустое значение

и что?
пример ниже ввести во все поля M
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

  <script>
$(function() {
    var inputs = document.querySelectorAll(".bel"), out = $("#out") ;
    $(inputs).on("input", function() {
        var res = [];
        var validity = [].every.call(inputs, function(node) {
            var str = node.value.trim();
            res.push(str);
            return str && /^(C|M|X)/.test(str)
        });
        out.text(validity ? res : "err")
    })
});
  </script>
</head>

<body>
<input name="" class="bel" value="">
<input name="" class="bel" value="">
<input name="" class="bel" value="">

<div id="out"></div>
</body>
</html>


далее сами.

laimas 23.05.2018 16:06

рони,
первая буква одна из, а значит должно быть кроме нее что-то, иначе неверно.

Или не так, Зосимов?


Часовой пояс GMT +3, время: 11:06.