Примеры JavaScript - Проверка email-адреса с помощью регулярного выражения.
ОГЛАВЛЕНИЕ
Проверка email-адреса с помощью регулярного выражения.
E-mail адрес состоит из двух частей разделенных символом "@": "Имя пользователя" @ "доменное имя". Имя пользователя, мы ограничим символами латинского алфавита (a-z), цифрами (0-9), символом подчеркивания "_", дефисом "-" и точкой "." Причем имя пользователя не может начинаться и заканчиваться точкой. Что касается доменного имени, то оно должно удовлетворять следующим критериям: в доменном имени могут присутствовать символы латинского алфавита, цифры и дефис "-"; домен не должен начинаться или заканчиваться дефисом; домен первого уровня (например, com, org, info, ru и т.д.) состоит только из символов латинского алфавита и ограничен длиной от 2 до 4 (или до 6 (домен museum)) символов.
function isValidEmail (email)
{
return (/^([a-z0-9_\-]+\.)*[a-z0-9_\-]+@([a-z0-9][a-z0-9\-]*[a-z0-9]\.)+[a-z]{2,4}$/i).test(email);
}
Ну, и при желании можно ввести ограничения на общую длину. Имя пользователя может быть длиной не более 64 символов, а доменное имя до 255 символов (RFC 2821), а вместо a-z0-9_ указать эквивалентый класс символов \w (что я не сделал в целях наглядности).
Javascript redirect
Javascript redirect, т.е. переадресация javascript делается следующим образом (вставлять в разделе HEAD документа HTML):
<script type="text/javascript">
location.replace("http://www.cyberguru.ru");
</script>
Для того чтобы сделать более универсальный редирект с задержкой пропишите в разделе HEAD документа HTML следующий код:
<script type="text/javascript">
setTimeout('location.replace("http://www.cyberguru.ru")', 3000);
/*Изменить текущий адрес страницы через 3 секунды (3000 миллисекунд)*/
</script>
<noscript>
<meta http-equiv="refresh" content="3; url=http://www.cyberguru.ru">
</noscript>
Пояснение. Для универсальности совмещаем два способа: Javascript редирект и redirect html. Для редиректа с задержкой используем функцию setTimeout, а для самого перенаправления используем метод replace, чтобы заменить текщий адрес на новый и тем самым в хистори не оставлять промежуточной страницы. На тот случай если Javascript отключен дублируем перенаправление тэгом META refresh: <meta http-equiv="refresh" content="задержка в секундах до редиректа; url=адрес для редиректа">
Однако по возможности лучше использовать перенаправление с помощью серверного скрипта - PHP redirect или используя возможности самого вэб-сервера, так как meta refresh имеет недостатки, а Javascript у некоторых редких пользователей может быть отключен.