Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   правильное объявление переменной (https://javascript.ru/forum/misc/12041-pravilnoe-obyavlenie-peremennojj.html)

Karpo 27.09.2010 23:23

правильное объявление переменной
 
Всем привет.Пишу свой первый скрипт.
<script type="text/javascript">
            function checkForm()
			{
                var err=true;       
                var reg_mail = !^\w+([\.\w]+)*\w@\w((\.\w)*\w+)*\.\w{2,10}$!;
                var reg_fio=![А-ЯЁа-яё]{3,12}$!;
				var reg_login =!^[a-z0-9][a-z0-9_.-]{1,15}$!ui;
				var reg_password=!^[^а-яё]{6,10}$!ui;
				var reg_born=!\d{2}\.\d{2}\.\d{4}$!ui;
                // заносим значение поля почтовый ящик в переменную mail
                var mail = obj.mail.value;
				var name = obj.name.value;
				var family = obj.family.value;
				var father = obj.father.value;
				var born = obj.born.value;
				var password = obj.password.value;
                var error_msg = "Не корректно заполнены поля: ";
               
                //проверка поля почтовый ящик
                if(reg_mail.exec(mail) || mail ==""){
                    error_msg += "e-mail ";
                    err = false;
                }
				if(reg_fio.exec(name) || name ==""){
                    error_msg += "Имя ";
                    err = false;
                }
				if(reg_fio.exec(family) || family ==""){
                    error_msg += "Фамилия ";
                    err = false;
                }
				if(reg_fio.exec(father) || father ==""){
                    error_msg += "Отчество ";
                    err = false;
                }
				if(reg_born.exec(born) || born ==""){
                    error_msg += "Дата рождения ";
                    err = false;
                }
				if(reg_password.exec(born) || password ==""){
                    error_msg += "Пароль ";
                    err = false;
                }
 
                //проверка на наличие ошибок, если возникла ошибка ввыводим текст сообщения
                if(!return_value)
                    alert(error_msg);
                   
                return err;
            }
        </script>

Вставляю его в форму вот так
<script src="reg.js"></script>

перед формой,прописываю в форме
<form id="payment" action="register.php" method=POST onsubmit="return checkForm();">

Скрипт не работает,фаербаг жалуется на первую строку(где объявление булевой переменной).Говорит,что у меня ошибка синтаксиса.Не могу понять,что за ошибка.Подскажите пожалуйста

Gvozd 27.09.2010 23:28

Цитата:

Сообщение от Karpo
Говорит,что у меня ошибка синтаксиса.

мы не на филфаке!
вольный перевод здесь нафиг никому не сдался, и не поясняет ситуацию
скопируйте нормальное сообщение об ошибке, как оно написано

PS первый блок окда - это содержимое файла?
кто вас надоумил так делать?
глянбте на любом сайте с какой строчки начинаются подключаемые сркипты

Karpo 28.09.2010 01:52

глянул как оформлены скрипты на одном из сайтов.Исправил
<script src="reg.js"></script>
на
<script type="text/javascript" src="reg.js"></script>
Убрал теги <script> из файла скрипта.Теперь такая ошибка:
syntax error 
 var reg_mail = !^\w+([\.\w]+)*\w@\w((\.\w)*\w+)*\.\w{2,10}$!;\n
reg.js (строка 4)

monolithed 28.09.2010 07:42

Цитата:

var reg_mail = !^\w+([\.\w]+)*\w@\w((\.\w)*\w+)*\.\w{2,10}$!;\n
1. регулярное выражение в JS заключается в '/', а не '!'
2. \n - это строковой литерал, который должен браться в кавычки (к примеру, если это значение переменной), и тем более находиться не за пределами выражения.
Обязательно к прочтению

Karpo 28.09.2010 13:14

Цитата:

Сообщение от monolithed
1. регулярное выражение в JS заключается в '/', а не '!'

Спасибо за исправления
Цитата:

Сообщение от monolithed
2. \n - это строковой литерал, который должен браться в кавычки (к примеру, если это значение переменной), и тем более находиться не за пределами выражения.

Это firebug вывел,там у меня просто переход на новую строку

Karpo 29.09.2010 15:35

Всем спасибо.Проблема решена.Мой супер-скрипт заработал:)


Часовой пояс GMT +3, время: 12:18.