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, время: 12:50. |