Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.11.2015, 14:25
Интересующийся
Отправить личное сообщение для xammett Посмотреть профиль Найти все сообщения от xammett
 
Регистрация: 26.11.2012
Сообщений: 13

Javascript проверка формы
Всем привет.
Подскажите, такой вопрос:есть форма и проверка на js
форма:
<form action='' target='_blank' >
  <input name='name_css' oninput="ValidateCss(this)">
  <input value='Посмотреть детализацию' type='submit'>
</form></center><br/>

function ValidateCss(input) {
     exp = /\bCSS\d{2}$/;


     // if (!exp.test(input.value)){
     if (input.value == 'CSS00' || !exp.test(input.value)){
         input.setCustomValidity("Введите данные в правильном формате. Например CSS12");
     }
     else {
         console.log('Все правильно');
         input.setCustomValidity("");
     }
   }

Собственно вопрос. если убрать \b, то слева символы не проверяются, те можно ввести aCSS12 и валидация будет пройдена.
а вот эта запись в консоле работает, но если этот код использовать то нет.
Подскажите, пожалуйста как слева от слова корректно символы проверить?

В идеале нужно, чтобы CSS12 проходило валидацию

Последний раз редактировалось xammett, 03.11.2015 в 15:45.
Ответить с цитированием
  #2 (permalink)  
Старый 03.11.2015, 14:46
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

xammett,
Ответить с цитированием
  #3 (permalink)  
Старый 03.11.2015, 15:17
Интересующийся
Отправить личное сообщение для xammett Посмотреть профиль Найти все сообщения от xammett
 
Регистрация: 26.11.2012
Сообщений: 13

Если в консоле проверять, все работает, но если использовать такую функцию, то якобы не валид показывает.
То есть это правило /\bCSS\d{2}$/, говорит что запись в виде CSS12 не валидна. Что не так? Кто знает?
Ответить с цитированием
  #4 (permalink)  
Старый 03.11.2015, 15:39
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

xammett,
где функция, а лучше макет и


Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
  #5 (permalink)  
Старый 03.11.2015, 15:45
Интересующийся
Отправить личное сообщение для xammett Посмотреть профиль Найти все сообщения от xammett
 
Регистрация: 26.11.2012
Сообщений: 13

пожалуйста, готово
Ответить с цитированием
  #6 (permalink)  
Старый 03.11.2015, 15:56
Интересующийся
Отправить личное сообщение для xammett Посмотреть профиль Найти все сообщения от xammett
 
Регистрация: 26.11.2012
Сообщений: 13

Если упростить вопрос, как быть уверенным, что слово начинается с CSS и имеет 2 цифры? Мой подходи в валидации почему-то не работает.
Ответить с цитированием
  #7 (permalink)  
Старый 03.11.2015, 15:59
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

xammett,
setCustomValidity нету у вас, остальное что не так?
<!DOCTYPE HTML>

<html>

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

</head>

<body>
<form action='' target='_blank' >
  <input name='name_css' oninput="ValidateCss(this)">
  <input value='Посмотреть детализацию' type='submit'>
</form></center><br/>
<script>
  function ValidateCss(input) {
     exp = /\bCSS\d{2}$/;
   if (input.value == 'CSS00' || !exp.test(input.value)){
         alert("Введите данные в правильном формате. Например CSS12");
     }
     else {
         alert('Все правильно');

     }
   }
  </script>


</body>

</html>
Ответить с цитированием
  #8 (permalink)  
Старый 03.11.2015, 16:25
Интересующийся
Отправить личное сообщение для xammett Посмотреть профиль Найти все сообщения от xammett
 
Регистрация: 26.11.2012
Сообщений: 13

setCustomValidity я переименовал в setCustomValidity
Не так то, что это правило почему-то не срабатывает
если ввести запись в виде CSS12 будет выскакивать ошибка, что якобы не тот формат, но в консоле говорит true.
Что-то не так с правилом регэкспа?
Ответить с цитированием
  #9 (permalink)  
Старый 03.11.2015, 16:39
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Сообщение от xammett
если ввести запись в виде CSS12 будет выскакивать ошибка
такого не наблюдаю
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проверка формы не работает в ie begelme Javascript под браузер 6 13.08.2013 01:00
Последние книги по JavaScript! monolithed Учебные материалы 7 26.10.2010 19:40
Выдвет ошибку JavaScript Ромио Opera, Safari и др. 4 21.10.2010 20:34
Проверка полей отправляемой формы. denisOgr jQuery 6 18.10.2010 19:40
Простая проверка формы. Добавить "динамики". Jurasmi Элементы интерфейса 3 07.04.2010 16:48