Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Проверка вводимых данных
 
 автор: zavragnov   (08.03.2007 в 01:19)   письмо автору
 
 

Все пока работает, но одно "но" не проверяет наличие уже существующего имени.
Имена хранятся в массиве username .

Как сделать проверку, то что есть не работает, что надо переделать.

Я JavaScript не силен! так что очень прощу поподробней.

Заранее спасибо.


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">

<meta name="keywords" content="">
<meta name="description" content="">
<title> / </title>
</head>
<body>
<script language = "JavaScript"> 
function searcname(name) {
 
username = new Array ("Вася","Петя","modul","admin")

for(var e in username) 
  { 
    if(e == name) 
    return (false);
  } 
  return(true);
}

function validateEmail(email) { 
var re = /^[\w-]+(\.[w-]+)*@([\w-]+)\.+[a-zA-Z]{2,4}$/; //{2,4} от 2 до 4
    if (! email.match(re)) { 
        return (false); 
    } 
    return(true); 
}


function checkForm() // Функция проверки введенных данных 
{
 
if(document.reg_guest.name_guest.value=="") {alert("Поле `Ваше имя` не заполнено!"); var error = 1; } else {
if(document.reg_guest.mail_guest.value=="") {alert("Поле `Электронная почта` не заполнено!"); var error = 1; } else {
if(!validateEmail(document.reg_guest.mail_guest.value)) {alert("Неправильный формат адреса электронной почты!"); var error = 1; } else {
if(document.reg_guest.login_guest.value=="") {alert("Поле `Логин (имя для входа)` не заполнено!"); var error = 1; } else {
if(!searcname(document.reg_guest.login_guest.value)) {alert("Пользватель существует"); var error = 1; } else { 
 
if(document.reg_guest.first_pass_guest.value=="") {alert("Поле `Пароль` не заполнено!"); var error = 1; } else { 
if(document.reg_guest.second_pass_guest.value=="") {alert("Поле `Подтвердите пароль` не заполнено!"); var error = 1; } else {
if(document.reg_guest.login_guest.value==document.reg_guest.first_pass_guest.value) {alert("Пароль совпадает с логином!"); var error = 1; } else { 
if(document.reg_guest.second_pass_guest.value!=document.reg_guest.first_pass_guest.value) {alert("Поля `Пароли` не совпадают!"); var error = 1; } else { 
if(document.reg_guest.securityCode.value=="") {alert("Не введен защитный код!"); var error = 1; 
}}}}}}}}}}

if(error != 1) {document.reg_guest.submit();} else { return false; }


 
--> 
</script> 
<form method="post" name="reg_guest" id="reg_guest" onsubmit="return checkForm()">
Ваше имя *<br>
<input type="text" name="name_guest" style="width: 100%;">
<br>
Электронная почта * <br>
<input type="text" name="mail_guest" style="width: 100%;">
<br>
Логин (имя для входа) * <br>
<input type="text" name="login_guest" style="width: 100%;">
<br>
Пароль * <br>
<input type="text" name="first_pass_guest" style="width: 100%;">
<br>
Подтвердите пароль *<br>
<input type="text" name="second_pass_guest" style="width: 100%;">
<br>
Почтовый адрес <br>
<input type="text" name="post_guest" style="width: 100%;">
<br>
Получать новости <br>
<input name="yes_news_guest" type="checkbox" checked>
<br>
<input name="start" type="submit" id="start" value="отправить">
<br>
Введите код, который вы видите на картинке <br>
<input name="securityCode" type="text" class="codefofm" title="Введите код, который изображен на картинке" align="absmiddle">
<div id="scode"><img src="images/scode.gif" border="0" alt="Введите этот защитный код" align="absmiddle"></div>
</form>

</body>
</html>

   
 
 автор: bronenos   (08.03.2007 в 07:33)   письмо автору
 
   для: zavragnov   (08.03.2007 в 01:19)
 

Во-первых, хотелось бы отметить что незачем писать так
if (nick.length < 3)
{
  error = 'Ник короткий';
}
else
{
  if (nick.length > 20)
  {
    error = 'Ник длинный';
  }
  else
  {
    if (nick == 'admin')
    {
      error = 'Такой ник нельзя использовать';
    }
  }
}

Когда можно так
if (nick.length < 3)
  error = 'Ник короткий';
else if (nick.length > 20)
  error = 'Ник длинный';
else if (nick == 'admin')
  error = 'Такой ник нельзя использовать';

И не закрывать по двадцать скобок в конце
Сначала присваивайте error значение false, потом если что-то не так, присваивайте текст ошибки, затем, если оно не равняется false, то останавливайте программу и делайте alert (error)

   
 
 автор: zavragnov   (08.03.2007 в 18:26)   письмо автору
 
   для: bronenos   (08.03.2007 в 07:33)
 

Спасибо за замечение, но я не спрашивал про синтаксис языка, я спрвшивал про проверку на наличие имени в массиве.

Вопрос, как написать функцию поиска значения (имени) в массиве (массив имен) и связать ее с уже имеющейся функцией checkForm()

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования