валидация формы, поле email
Всех с наступающим!!!!
Я нашел скрипт:
<script type="text/javascript">
function isEmailCorrect(formname, fieldname) {
var re = /^\w+([\.-]?\w+)*@(((([a-z0-9]{2,})|([a-z0-9][-][a-z0-9]+))[\.][a-z0-9])|([a-z0-9]+[-]?))+[a-z0-9]+\.([a-z]{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/i;
//var re = /^\w+([\.-]?\w+)*@[a-z0-9]+([\.-]?[a-z0-9]+)+\.([a-z]{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/i;
if(re.test(eval("document.forms['"+formname+"']."+fieldname+".value")))
return true;
else {
alert("Email is incorrect!");
eval("document.forms['"+formname+"']."+fieldname+".focus()");
return false;
}
}
</script>
1) Как его переделать в вид <script type="text/javascript"> function isEmailCorrect () { if (если введенный в форме email не удовлетворяет re) { alert("Email is incorrect!"); return false; } return true; } </script> 2) Что означает re.test(eval("document.forms['"+formname+"']."+fieldname+".value") а точнее "re.test" -? 3) Правильно ли я понимаю, что если в самой форме я хочу указать вывод функции как: return isEmailCorrect () - без аргументов, то в коде скрипта вместо "formname" и "fieldname" я должен указать соответствующие свои названия -? Спасибо! |
1) Не понял, оно и так в таком виде, фактически.
2) http://javascript.ru/tutorial/basic/regular-expression 3) Да. |
Спасибо. понял - что такое test по существу.
Непонятно, если я напишу if(re.test(eval("document.forms['"+formname+"']."+fieldname+".value"))) return false; это же не будет означать, что если введенный в форме email НЕ удовлетворяет re, то возвращается false - или будет??? Если не будет, то как будет? |
vovasvv,
Этот код означает, что если значение поля удовлетворяет регулярному выражению re, то будет возвращено false. |
Еще раз спасибо. Все равно НЕ!! понял - как написать:
"если значение поля НЕ УДОВЛЕТВОРЯЕТ регулярному выражению re, то будет возвращено false"? |
Все - сам спросил - сам ответил. Всем СПАСИБО!
Мое решение re.test(eval("document.forma.email.value")) == false |
| Часовой пояс GMT +3, время: 11:18. |