![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
[+1 10.04.08]
Регистрация: Apr 2008
Адрес: Ukrain
Сообщений: 12
|
Здравствуйте!
Писал функцию определяющую русские ли слова содержит строка. Но почемута она проверяет только по первой букве а не повсему слову. function registration(imya){
if(typeof imya=="string" && imya!="") {
for(i=0; i<=imya.length; i++){
if (imya.charAt(i)>="А" && imya.charAt(i)<="я"){
return true;
}
else {
return false;
}
}
}
}
trace(registration("ПятнUWEFC"));
Подскажите пожалуйста почему цикл не срабатывает правильно Заранее благодарен! |
|
|||||
|
[+1 10.04.08]
Регистрация: Apr 2008
Адрес: Ukrain
Сообщений: 12
|
не мог бы ты исправить ошибку? а то что то у меня не выходит! Куда return переставить?
Последний раз редактировалось muhactive; 10.04.2008 в 16:54. |
|
|||||
|
[+1 10.04.08]
Регистрация: Apr 2008
Адрес: Ukrain
Сообщений: 12
|
false
|
|
|||||
|
Как-то так поменять:
|
|
|||||
|
[+1 10.04.08]
Регистрация: Apr 2008
Адрес: Ukrain
Сообщений: 12
|
Так работает. Спасибо!!!
Только я так и не понял почему тогда моя функция не работала. Ведь ты просто зделал "наоборот". Последний раз редактировалось muhactive; 10.04.2008 в 17:27. |
|
|||||
|
Регистрация: 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 не является строкой)
Удачи! |
![]() |
![]() |
Часовой пояс GMT +4, время: 21:59. |
|
|
« Предыдущая тема | Следующая тема » |
|
|