Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Проверка данных в форме


Автор: jimmytodesky 19.2.2008, 22:41
Есть код проверки данных в форме.  Объясните плз, что значат выделенные строки. Почему сравнивается с нулем, и именно так?

Код

 <script language="JavaScript">
        <!--
function provDan(imja, fami, email)
{
var reImja = new RegExp("[^A-Za-z\-_]");
var reFami = /^[A-Za-z\-_]+$/; 
var reEmail = /^[A-Za-z0-9\-\_\.]+@{1}([A-Za-z0-9\-\_]+\.)*[A-Za-z0-9\-\_]+$/;
var strImja = imja.value;
var strFami = fami.value;
var strEmail = email.value;
if ((strImja.search(reImja)) >= 0) //1 непонятка
{
alert ("Недопустимый символ в имени!");
imja.focus();
imja.select();
return false;
}[font=courier]
if ((testValue = strFami.search(reFami)) < 0) //2 непонятка
{
alert ("Недопустимый символ в фамилия!");
fami.focus();
fami.select();
return false;
}
if ((testValue = strEmail.search(reEmail)) < 0) // 3 непонятка
{
alert("Недопустимый формат e-mail");
email.focus();
email.select();
return false;
}
return true;
}
       //-->
      </script>

Автор: bars80080 20.2.2008, 10:30
надо наверное документацию почитать?

http://www.w3schools.com/jsref/jsref_search.asp

.search() - поиск номера символа в котором попадается упомянутое выражение, т.е.:
1. если в strImja найден один из символов A-Z, a-z, -, _ . если не найдёт то вернёт -1
2. и 3. тоже самое, условие только наоборот

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)