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,
:-? |
Если в консоле проверять, все работает, но если использовать такую функцию, то якобы не валид показывает.
То есть это правило /\bCSS\d{2}$/, говорит что запись в виде CSS12 не валидна. Что не так? Кто знает? |
xammett,
где функция, а лучше макет и Пожалуйста, отформатируйте свой код! Для этого его можно заключить в специальные теги: js/css/html и т.п., например: [js] ... ваш код... [/js] О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting. |
пожалуйста, готово
|
Если упростить вопрос, как быть уверенным, что слово начинается с CSS и имеет 2 цифры? Мой подходи в валидации почему-то не работает.
|
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> |
setCustomValidity я переименовал в setCustomValidity
Не так то, что это правило почему-то не срабатывает если ввести запись в виде CSS12 будет выскакивать ошибка, что якобы не тот формат, но в консоле говорит true. Что-то не так с правилом регэкспа? |
Цитата:
|
Часовой пояс GMT +3, время: 07:26. |