Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.06.2009, 12:55
Аспирант
Отправить личное сообщение для Andrej_2 Посмотреть профиль Найти все сообщения от Andrej_2
 
Регистрация: 14.05.2009
Сообщений: 30

Проверить, не пустое ли поле
Уважаемые!
Подскажите пожалуйста, что я делаю не так. Нужно проверить поле input, не пустое ли оно и не содержит ли чего, кроме пробельных символов.

Проверяю так:

var reg_pusto = new RegExp('([^\\s*]+)','g');

//[^\s]+  -помимо пробела/ов возможен любой символ/ы

if (reg_pusto.test(znatshenie_polja))
{
window alert ('не пойдет');
}
else
{
window alert ('пойдет');
}


Если в поле ничего нет -- срабатывает. Если несколько пробелов и больше ничего нет -- срабатывает. Если один пробел, и больше ничего нет, пропускает как правильное.
Ответить с цитированием
  #2 (permalink)  
Старый 06.06.2009, 13:07
Аспирант
Отправить личное сообщение для Andrej_2 Посмотреть профиль Найти все сообщения от Andrej_2
 
Регистрация: 14.05.2009
Сообщений: 30

неправильно сформулировал:

Выделить код
var reg_pusto = new RegExp('([^\\s*]+)','g');
 
//[^\s]+  -помимо пробела/ов возможен любой символ/ы
 
if (reg_pusto.test(znatshenie_polja))
{
window alert ('пойдет');
}
else
{
window alert ('не пойдет');
} 

Т.е. надо, чтобы в поле что-то было (пробельные символ(ы) за что-то не принимая)
Ответить с цитированием
  #3 (permalink)  
Старый 06.06.2009, 13:18
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Сообщение от Andrej_2 Посмотреть сообщение
window alert ('пойдет');
Что это такое, для чего 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>

Последний раз редактировалось Octane, 06.06.2009 в 13:21.
Ответить с цитированием
  #4 (permalink)  
Старый 06.06.2009, 13:47
Аспирант
Отправить личное сообщение для Andrej_2 Посмотреть профиль Найти все сообщения от Andrej_2
 
Регистрация: 14.05.2009
Сообщений: 30

Спасибо!
Извиняюсь за alert, я не знаток JS, понадеялся на свою память.
Проверка длины -- красиво. Пробую. Мне нужно обязательно в регулярке брать перемнную, а не напрямую из формы.

Пробую с Вашей подсказкой так:

var reg_pusto = znatshenie_polja.replace(/\s+/,'');
if (reg_pusto.length)//длина после удаления всех пробелов
{
alert ('пойдет');
}
else
{
alert ('не пойдет');
}


Все равно та же картина, т.е. тестирует через раз.
Ответить с цитированием
  #5 (permalink)  
Старый 06.06.2009, 13:51
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Как znatshenie_polja получаете?
Ответить с цитированием
  #6 (permalink)  
Старый 06.06.2009, 13:57
Аспирант
Отправить личное сообщение для Andrej_2 Посмотреть профиль Найти все сообщения от Andrej_2
 
Регистрация: 14.05.2009
Сообщений: 30

Передаю в функцию, потом из этой функции в другую функцию, где и обрабатываю, возвращаю в первую функцию обработанное значение обратно, обрабатываю обработанное значение и возвращаю в нужный элемент ID на странице (другое поле)
Ответить с цитированием
  #7 (permalink)  
Старый 06.06.2009, 14:01
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Сообщение от Andrej_2 Посмотреть сообщение
Передаю в функцию, потом из этой функции в другую функцию, где и обрабатываю, возвращаю в первую функцию обработанное значение обратно, обрабатываю обработанное значение и возвращаю в нужный элемент ID на странице (другое поле)
Афигенно информативный ответ

Ищите ошибку, мой пример работает нормально.
Ответить с цитированием
  #8 (permalink)  
Старый 08.06.2009, 21:56
Аспирант
Отправить личное сообщение для Andrej_2 Посмотреть профиль Найти все сообщения от Andrej_2
 
Регистрация: 14.05.2009
Сообщений: 30

Извиняюсь за задержку с ответом, все некогда было. Ощибку нашел. Другая регулярка резала "достижения" предыдущей. Сейчас по совету Octane ориентируюсь на длину. Большое впсибо!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверить размеры изображения на стороне клиента kez jQuery 2 19.05.2009 11:23
Проверить наличие меню/панели инструментов/адресной строки/статуса Ruark Internet Explorer 8 06.05.2009 23:31
Как проверить ссылку на работоспособнось? Oleg_777 Общие вопросы Javascript 23 19.03.2009 18:57
Как проверить существование функции Aderba Общие вопросы Javascript 2 14.11.2008 16:09
проверить имя загруженного рисунка itmgk Элементы интерфейса 1 07.09.2008 13:29