Проверить, не пустое ли поле
Уважаемые!
Подскажите пожалуйста, что я делаю не так. Нужно проверить поле input, не пустое ли оно и не содержит ли чего, кроме пробельных символов. Проверяю так:
var reg_pusto = new RegExp('([^\\s*]+)','g');
//[^\s]+ -помимо пробела/ов возможен любой символ/ы
if (reg_pusto.test(znatshenie_polja))
{
window alert ('не пойдет');
}
else
{
window alert ('пойдет');
}
Если в поле ничего нет -- срабатывает. Если несколько пробелов и больше ничего нет -- срабатывает. Если один пробел, и больше ничего нет, пропускает как правильное. |
неправильно сформулировал:
Выделить код
var reg_pusto = new RegExp('([^\\s*]+)','g');
//[^\s]+ -помимо пробела/ов возможен любой символ/ы
if (reg_pusto.test(znatshenie_polja))
{
window alert ('пойдет');
}
else
{
window alert ('не пойдет');
}
Т.е. надо, чтобы в поле что-то было (пробельные символ(ы) за что-то не принимая)
|
Цитата:
Чтобы не усложнять регулярное выражение, можно просто удалить все пробельные символы и проверить длину строки:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>…</title>
<script type="text/javascript">
window.onload = function() {
document.getElementById('button').onclick = function() {
if(document.getElementById('text').value.replace(/\s+/g, '').length) {
alert('Текст введён');
} else {
alert('Введите текст');
}
};
};
</script>
</head>
<body>
<input id="text" type="text" />
<input id="button" type="button" value="Проверить" />
</body>
</html>
|
Спасибо!
Извиняюсь за alert, я не знаток JS, понадеялся на свою память. Проверка длины -- красиво. Пробую. Мне нужно обязательно в регулярке брать перемнную, а не напрямую из формы. Пробую с Вашей подсказкой так:
var reg_pusto = znatshenie_polja.replace(/\s+/,'');
if (reg_pusto.length)//длина после удаления всех пробелов
{
alert ('пойдет');
}
else
{
alert ('не пойдет');
}
Все равно та же картина, т.е. тестирует через раз. |
Как znatshenie_polja получаете?
|
Передаю в функцию, потом из этой функции в другую функцию, где и обрабатываю, возвращаю в первую функцию обработанное значение обратно, обрабатываю обработанное значение :) и возвращаю в нужный элемент ID на странице (другое поле)
|
Цитата:
Ищите ошибку, мой пример работает нормально. |
Извиняюсь за задержку с ответом, все некогда было. Ощибку нашел. Другая регулярка резала "достижения" предыдущей. Сейчас по совету Octane ориентируюсь на длину. Большое впсибо!
|
| Часовой пояс GMT +3, время: 19:03. |