Показать сообщение отдельно
Старый 10.04.2008, 17:29
Tochilin вне форума Посмотреть профиль Отправить личное сообщение для Tochilin Найти все сообщения от Tochilin
  № 10  
Ответить с цитированием
Tochilin

Регистрация: Apr 2007
Сообщений: 53
Код:
function russ_text(str) {
	/* Для начала нужно проверить, является ли переданный параметр строкой.
	Также он не должен быть пустой строкой - поле ввода должно быть заполнено.*/
	if (typeof str == "string" && str != "") {
		/*Если предыдущие условия выполнены, запускаем цикл, при помощи которого просматрива-
		ем все символы строки. Длину строки определяем при помощи свойства length. */
		for (var i = 0; i<str.length; i++) {
			/* Сравниваем текущий символ строки с буквами "А" и "я" (первый и последний символы в
			русском блоке уникода) (буква "А" должна быть обязательно кирилличной - использование
			латинского аналога собьет работу алгоритма). Если он принадлежит к нужному диапазону,
			переходим к следующему символу. В противном случае обрываем работу кода и возвращаем
			false (эти задачи выполняет предложение return). Определить, какой символ в строке
			занимает позииию i, можно, воспользовавшись методом charAt(). */
			if (str.charAt(i)>="А" && str.charAt(i)<="я") {
			} else {
				return false;
			}
		}
		// Если цикл не прервался, значит, ни одного не кирилличного символа найдено не было. Возвращаем true.
		return true;
		// В случае, если поступившие данные не являются не пустой строкой,
		// возвращаем false
	} else {
		return false;
	}
}
trace(russ_text("Привет")); // Возвращает: true
trace(russ_text("Hello")); // Возвращает: false (использованы латинские
// буквы)
trace(russ_text('_root')); // Возвращает: false (_root не является строкой)
Этот пример взят из книги и ОЧЕНЬ подробно откомментирован. Надеюсь поможет.
Удачи!