валидация формы, поле 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, время: 17:08. |