Проверить, не пустое ли поле
Уважаемые!
Подскажите пожалуйста, что я делаю не так. Нужно проверить поле 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, время: 04:44. |