Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 23.05.2018, 14:34
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Зосимов
проверяю так
Нет, вы же замечание рони копируете, но игнорируете. Нужно так:

$('.bel').each(function() {
    if(/^[CMX]./.test(this.value)) {
        //значение не пустое и соответствует условию
   } else {
        //пустое значение или не соответствует условию
   }
})

Последний раз редактировалось laimas, 23.05.2018 в 14:36.
Ответить с цитированием
  #12 (permalink)  
Старый 23.05.2018, 14:37
Кандидат Javascript-наук
Отправить личное сообщение для Зосимов Посмотреть профиль Найти все сообщения от Зосимов
 
Регистрация: 11.02.2013
Сообщений: 102

вот не знаю только, на сколько это получилось правильно.
проверяю несколько значений на наличие буквы -
$.each($('.bel'),function(){
  if($(this).val() != ""){
    str = $(this).val();
             
              if(!/^C|M|X.+/.test(str)){
                console.log("false");
              }
              else { ..выполняю код }          
              
      }
    });
Ответить с цитированием
  #13 (permalink)  
Старый 23.05.2018, 14:42
Кандидат Javascript-наук
Отправить личное сообщение для Зосимов Посмотреть профиль Найти все сообщения от Зосимов
 
Регистрация: 11.02.2013
Сообщений: 102

Сообщение от laimas Посмотреть сообщение
Нет, вы же замечание рони копируете, но игнорируете. Нужно так:

$('.bel').each(function() {
    if(/^[CMX]./.test(this.value)) {
        //значение не пустое и соответствует условию
   } else {
        //пустое значение или не соответствует условию
   }
})
у меня задача - если есть хоть одно не соответствие, прервать код и выдать сообщение
Ответить с цитированием
  #14 (permalink)  
Старый 23.05.2018, 14:45
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Да елки палки, зачем $(this).val() да еще дважды, если доступен DOM объект (this) и его стандартное свойство value?

Вам чего надо: а) проверить не пусто ли и удовлетворяет условию, что походу и наблюдается; б) проверять условие только если есть значение?
Ответить с цитированием
  #15 (permalink)  
Старый 23.05.2018, 14:46
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,069

Зосимов,
var inputs = document.querySelectorAll('.bel');
var validity = [].every.call(inputs, function(node) {
   var str = node.value.trim();
   return !str || /^(C|M|X)/.test(str)
});

if(!validity) alert("err");
Ответить с цитированием
  #16 (permalink)  
Старый 23.05.2018, 15:06
Кандидат Javascript-наук
Отправить личное сообщение для Зосимов Посмотреть профиль Найти все сообщения от Зосимов
 
Регистрация: 11.02.2013
Сообщений: 102

Сообщение от laimas Посмотреть сообщение
Да елки палки, зачем $(this).val() да еще дважды, если доступен DOM объект (this) и его стандартное свойство value?

Вам чего надо: а) проверить не пусто ли и удовлетворяет условию, что походу и наблюдается; б) проверять условие только если есть значение?
да нужно так
value мне нужен что бы вывести его на консоль )
Ответить с цитированием
  #17 (permalink)  
Старый 23.05.2018, 15:08
Кандидат Javascript-наук
Отправить личное сообщение для Зосимов Посмотреть профиль Найти все сообщения от Зосимов
 
Регистрация: 11.02.2013
Сообщений: 102

рони, ваш вариант мне подходит. но что выводить на консоль? мне нужно вывести значения, если у всех input есть буквы первые
Ответить с цитированием
  #18 (permalink)  
Старый 23.05.2018, 15:14
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Зосимов
да нужно так


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

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

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

Так чего надо то?
Ответить с цитированием
  #19 (permalink)  
Старый 23.05.2018, 15:16
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,069

Сообщение от Зосимов
если у всех input есть буквы первые
return !str || /^(C|M|X)/.test(str)
красное уберите
Ответить с цитированием
  #20 (permalink)  
Старый 23.05.2018, 15:18
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,069

Зосимов,
var inputs=document.querySelectorAll('.bel');
var validity = [].every.call(inputs, function(node) {
   var str = node.value.trim()
   return  /^(C|M|X)/.test(str)
});

if(validity) alert("ok");
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамическое копирование значения из input в input с одинаковыми атрибутами name ami_moor jQuery 2 10.08.2016 17:02
Как проверить что input не пуст и в случае true добавить класс Zhyhana jQuery 3 17.11.2015 21:15
При добавлении DOCTYPE "плывут" размеры input type=text Demath (X)HTML/CSS 4 08.07.2012 19:27
Opera не выполняет style.fontSize=... в поле input Маэстро Opera, Safari и др. 6 20.06.2011 12:03
Разным элементам input - разное форматирование. Как? eclipse (X)HTML/CSS 1 25.10.2007 13:55