Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Java / JavaScript


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

Народное голосование ПРЕМИИ РУНЕТА-2007!
Голосуем за RusFAQ.ru >>

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Java/JavaScript

Выпуск № 456
от 05.11.2007, 15:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 356, Экспертов: 26
В номере:Вопросов: 3, Ответов: 6


Вопрос № 107384: Добрый день, уважаемые эксперты. Такой вопрос: Необходимо осуществить проверку вводимого пароля силами JavaScript на соответствие следующим условиям: - длина не менее 8 символов - из которых не менее 2-х - цифровые символы и/или симво...
Вопрос № 107419: Подскажите, пожалуйста, можно ли изменить скрипт так, чтобы картинка не резко менялась, а плавно переходила одна в другую (эффект затухания), как в скрипте в приложении <html encoding="UTF-8" lang="en"> <head>...
Вопрос № 107439: Уважаемые эксперты! Нужно создать html-страницу с java-скриптом, который бы создавал вертикальное меню, элементы которого меняли бы цвет при наведении мыши, а щелчки по ним загружали в браузер другие страницы. С загрузкой других страниц п...

Вопрос № 107.384
Добрый день, уважаемые эксперты.
Такой вопрос:
Необходимо осуществить проверку вводимого пароля силами JavaScript на соответствие следующим условиям:
- длина не менее 8 символов
- из которых не менее 2-х - цифровые символы и/или символы знаков препинания
- остальные - символы латинского алфавита (строчные и заглавные)

Насколько я понял, такая проверка осуществляется с помощью регулярных выражений. Но вот как правильно построить шаблон для такой проверки?
Отправлен: 30.10.2007, 15:36
Вопрос задал: 13th_piligrim (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: PM_pilot
Здравствуйте, 13th_piligrim!
Вот приблизительно как это будет выглядеть:
([0-9W]{2,}[a-zA-Z]*){8,} но здесь возможно есть ошибки.
Ответ отправил: PM_pilot (статус: 1-ый класс)
Ответ отправлен: 30.10.2007, 16:24
Оценка за ответ: 5
Комментарий оценки:
Спасибо за столь быстрый отклик.

Отвечает: Errandir
Здравствуйте, 13th_piligrim!

Гораздо легче будет использовать два регекспа:
/[a-zA-Z0-9]{8.}/ — задаёт минимум в 8 символов
/[a-zA-Z0-9]*d[a-zA-Z0-9]*d[a-zA-Z0-9]*/ — задаёт наличие минимум двух цифр

Если бы вы ещё разрешили жёсткий пробел “_”, то вместо [a-zA-Z0-9] можно было бы писать w .

Удачи.
---------
Si vox est - canta!
Ответ отправил: Errandir (статус: 6-ой класс)
Ответ отправлен: 30.10.2007, 18:03
Оценка за ответ: 5
Комментарий оценки:
Спасибо за совет про жесткий пробел.

Отвечает: HookEst
Здравствуйте, 13th_piligrim!
Длину, действительно проще проверить отдельно, и можно это сделать без регулярных выражений:
т.к. пробелы в пароле вообще не допускаются можно сначала просто проверить length, а когда будем проверять символы учтем, что пробелов быть не должно.
Теперь символы.
Если принять, что цифровые символы и/или символы знаков препинания состоят из всех символов кроме латинских букв и кроме пустых(пробельных) символов, такие символы можно описать как: [^A-Za-zs], или для регистронезависимого поиска:[^a-zs].
сам пароль тогда тожен быть:

начало(^)
сколько угодно(*) любые не пробельные(S)
потом
цифра или знак препинания([^A-Za-zs])
потом
сколько угодно(*) любые не пробельные(S)
потом
цифра или знак препинания([^A-Za-zs])
потом
сколько угодно(*) любые не пробельные(S)
конец($)

на практике это может выглядеть например так:

function checkPwd(pwd)
{
re=/^S*[^a-zs]S*[^a-zs]S*$/i
if(pwd.length>7 && re.test(pwd))
alert('Wellcome!');
else
alert('Forbidden!');
}
Успехов.
Ответ отправил: HookEst (статус: Студент)
Ответ отправлен: 31.10.2007, 07:43
Оценка за ответ: 5
Комментарий оценки:
Огромное спасибо за столь развернутый и подробный ответ!


Вопрос № 107.419
Подскажите, пожалуйста, можно ли изменить скрипт так, чтобы картинка не резко менялась, а плавно переходила одна в другую (эффект затухания), как в скрипте в приложении
<html encoding="UTF-8" lang="en">
<head>
<title></title>
>
var slideShowSpeed = 3000;
var crossFadeDuration = 3;
var runSlideShow = function (ss) {
//if (document.all){
// ss.style.filter='blendTrans(duration=2)';
// ss.style.filter='blendTrans(duration=' + crossFadeDuration + ')';
// ss.filters.blendTrans.Apply();
//}
ss.src = ss.preLoad[ss.j].src;
//if (document.all){
// ss.filters.blendTrans.Play();
//}
ss.j = (ss.j + 1) % ss.p;
}
</script>
</head>
<body>
<a target=_blank href="Гиперссылка">
<img alt="картинка" border=0 name=SlideShow1>
</a>
>
var ss1 = document.images.SlideShow1;
ss1.Pic = new Array();
ss1.Pic[0] = 'img/1.jpg';
ss1.Pic[1] = 'img/2.jpg';
ss1.p = ss1.Pic.length;
ss1.preLoad = new Array()
for (var i = 0; i < ss1.p; i++){
ss1.preLoad[i] = new Image();
ss1.preLoad[i].src = ss1.Pic[i];
}
ss1.src = ss1.preLoad[0].src;
ss1.j = 1;
setInterval('runSlideShow(ss1)', slideShowSpeed);
</script>
<a target=_blank href="Гиперссылка">
<img alt="картинка" border=0 name=SlideShow2>
</a>
>
var ss2 = document.images.SlideShow2;
ss2.Pic = new Array();
ss2.Pic[0] = 'img/2.jpg';
ss2.Pic[1] = 'img/1.jpg';
ss2.p = ss2.Pic.length;
ss2.preLoad = new Array()
for (var i = 0; i < ss2.p; i++){
ss2.preLoad[i] = new Image();
ss2.preLoad[i].src = ss2.Pic[i];
}
ss2.src = ss2.preLoad[0].src;
ss2.j = 1;
setInterval('runSlideShow(ss2)', slideShowSpeed);
</script>
</body>
</html>

Приложение:

Отправлен: 30.10.2007, 20:00
Вопрос задала: Мащенко Виктория Викторовна (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: Errandir
Снова здравствуйте!

Суть решения заключается в том, что у вас две картинки одна над другой. Изначально нижняя картинка отображается, а верхняя сделана прозрачной. Когда нужно сменить картинку, прозрачность верхней плавно уменьшается, затем подгружается вторая на место нижней, делается прозрачной и менеются местами с верхней, и т. д.

Для реализации нужно картинки поместить в div-элемент.
В стилях прописать “position: absolute; left: 0px; top: 0px;”, а также задать “z-index”, например, у нижней картинки 0, у верхней 1. Также нужно прописать прозрачность (тоже в стиле) “filter:alpha(opacity=50); opacity: 0.5;” (в данном примере указана прозрачность 50%). “filter:alpha(opacity=50)” для IE, “opacity: 0.5;” - для остальных современных браузеров (это элемент CSS3).

Причём в скрипте при изменении стиля (а именно прозрачности), опять придётся учитывать IE у нас или нет (что рассмотрено в вопросе http://rusfaq.ru/info/question/103028). А плавность достигается циклом с задержками (“setTimeout()”). z-index после подгрузки следующей картинки у нижней ставится в 2, затем у верхней в 0, и у уже теперь верхней в 1.

Удачи.

---------
Si vox est - canta!
Ответ отправил: Errandir (статус: 6-ой класс)
Ответ отправлен: 30.10.2007, 20:57


Вопрос № 107.439
Уважаемые эксперты!
Нужно создать html-страницу с java-скриптом, который бы создавал вертикальное меню,
элементы которого меняли бы цвет при наведении мыши, а щелчки по ним загружали в браузер другие страницы.
С загрузкой других страниц по щелчку все нормально - обрабатываю событие onClick. А вот с изменением
цвета встал в тупик - обрабатываю события onMouseOver и onMouseOut. Но при наведении мыши ничего не
происходит, кроме того, что в строке состояния появлется сообщение "Ошибка на странице". При отведении
мыши сообщение меняется на "Готово", но все равно со значком ошибки. Сам текст взял из примера
в книге Дунаева "Самоучитель по JavaScript". Пробую на Win2000+IE6.
А вообще - где можно найти подробное описание объектов JavaScript (window, document и т.д. - или это объекты не JavaScript?)?
Во всех книгах, что мне встречались, описание очень поверхностное. Описываются одни свойства,
а затем используют другие, не описанные.
Как я догадываюсь, дело именно в этом.

Приложение:

Отправлен: 30.10.2007, 22:12
Вопрос задал: M_kostik (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Сухомлин Кирилл Владимирович
Здравствуйте, M_kostik!
Не знаю, где вы взяли этот код, но, во-первых, там две одинаковых опечатки:
"laeyr" вместо "layer". Также было написано "clBgInct" вместо "clBgInact" внизу. Либо пишите длинное название переменной, либо научитесь запоминать, как вы сократили ее имя.
&;t!-- --> — комментарии для html. Внутри кода javascript они не будут работать. Нужно использовать вот такой синтаксис для комментариев: /* */

После того, как я исправил опечатки, бразуер долго ругался на unterminated comment в совершенно непонятном месте, пока я не сохранил документ в юникоде.
Теперь все работает. document, window и пр. строго говоря нельзя назвать объектами "javascript"... но у меня есть справочник по js, где они все описаны:
Ссылка (14 МБ)
Огормная книга в формате pdf. 2500 страниц.

Приложение:

---------
Не узнаешь - не попробуешь.

Ответ отправил: Сухомлин Кирилл Владимирович (статус: Специалист)
Ответ отправлен: 31.10.2007, 17:24
Оценка за ответ: 5
Комментарий оценки:
Спасибо за обстоятельный ответ с подробным указанием ошибок

Отвечает: Иоффе Мэир Вэлевич
Здравствуйте, M_kostik!

Смотрите приложение.

Ваши ошибки:
1) laeyr вместо layer
2) clBgInct вместо clBgInact
3) был установлен фон таблицы. потому не было видно фона DIV'а
4) разные мелкие ошибки. просмотрите внимательно код. найдёте их.

Удачи.

Приложение:

---------
There are 10 types of people. Those who understand binary and those who don't.

Ответ отправил: Иоффе Мэир Вэлевич (статус: 2-ой класс)
Ответ отправлен: 31.10.2007, 22:31
Оценка за ответ: 5
Комментарий оценки:
Спасибо за обстоятельный ответ с подробным указанием ошибок


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.61.1 от 16.10.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное