Мне нужно проверить заполнено ли хотя бы одно поле <input>. Там может быть введен любой символ кроме пробелов, для этого я использовал регулярное выражение. Но почему-то при вводе одного символа срабатывает alert. Что не так? Ведь + в регулярке означает от {1,}.
<form action="" id="form" >
<input type="text" class="auth" /> <br />
<input type="text" class="auth" /> <br />
<input type="text" class="auth" /> <br />
<input type="text" class="auth" /> <br />
<input type="submit" />
</form>
document.getElementById('form').addEventListener('submit', function(e) {
var inputs = document.querySelectorAll('.auth'), result, i;
for(i = 0; i < inputs.length; i++) {
if( inputs[i].value.match(/^\S[a-zа-я0-9_]+/i) ) {
result = true;
break;
}
}
if(!result) {
e.preventDefault();
alert('Заполните хотя бы одно поле!');
}
});