<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Fix Blog &#187; validate</title>
	<atom:link href="http://fixblog.ru/tag/validate/feed/" rel="self" type="application/rss+xml" />
	<link>http://fixblog.ru</link>
	<description>в помощь веб-мастерам</description>
	<lastBuildDate>Fri, 03 Jun 2011 05:32:27 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>проверка формы javascript</title>
		<link>http://fixblog.ru/2010/04/14/%d0%bf%d1%80%d0%be%d0%b2%d0%b5%d1%80%d0%ba%d0%b0-%d1%84%d0%be%d1%80%d0%bc%d1%8b-javascript/</link>
		<comments>http://fixblog.ru/2010/04/14/%d0%bf%d1%80%d0%be%d0%b2%d0%b5%d1%80%d0%ba%d0%b0-%d1%84%d0%be%d1%80%d0%bc%d1%8b-javascript/#comments</comments>
		<pubDate>Wed, 14 Apr 2010 14:05:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Note]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[validate]]></category>

		<guid isPermaLink="false">http://fixblog.ru/?p=313</guid>
		<description><![CDATA[Задача: сделать универсальную функцию для прохождения по полям формы с возможностью проверки введенных данных

Действительно, удобнее проверять форму пока она не "ушла" на сервер, чем после отправки возвращать пользователю HTML-страницу с той же формой и списком ошибок (хотя серверная проверка необходима, из соображений безопасности и на случай отключенного JavaScript). Попытаемся набросать JavaScript-функцию, которая будет проходить по [...]]]></description>
			<content:encoded><![CDATA[<p>Задача: сделать универсальную функцию для прохождения по полям формы с возможностью проверки введенных данных<br />
<span id="more-313"></span><br />
Действительно, удобнее проверять форму пока она не "ушла" на сервер, чем после отправки возвращать пользователю HTML-страницу с той же формой и списком ошибок (хотя серверная проверка необходима, из соображений безопасности и на случай отключенного JavaScript). Попытаемся набросать JavaScript-функцию, которая будет проходить по всем элементам формы, определять их тип и совершать действия по проверке данных. В качестве аргумента функция примет ссылку на саму форму. Удобнее всего её вызывать по событию onsubmit.</p>
<p>Форма:</p>
<p>&lt;form onsubmit="return checkForm(this);"&gt;<br />
&lt;input type="hidden" /&gt;<br />
Имя: &lt;input type="text" name="name" /&gt;&lt;br/&gt;<br />
E-mail: &lt;input type="text" name="email" /&gt;&lt;br/&gt;<br />
&lt;br/&gt;<br />
Интересы:&lt;br/&gt;<br />
&lt;input type="checkbox" name="inter[]" value="music" /&gt; Music&lt;br/&gt;<br />
&lt;input type="checkbox" name="inter[]" value="TV" /&gt; TV&lt;br/&gt;<br />
&lt;br/&gt;<br />
Возраст:&lt;br/&gt;<br />
&lt;input type="checkbox" name="age" value="10-25&#8243; /&gt; 10-25&lt;br/&gt;<br />
&lt;input type="checkbox" name="age" value="25-50&#8243; /&gt; 25-50&lt;br/&gt;<br />
&lt;input type="checkbox" name="age" value="50+" /&gt; 50+&lt;br/&gt;<br />
&lt;br/&gt;<br />
Любимое время суток: &lt;br/&gt;<br />
&lt;select&gt;<br />
&lt;option value="0&#8243; selected="1&#8243;&gt;Выберите&#8230;&lt;/option&gt;<br />
&lt;option value="1&#8243;&gt;Утро&lt;/option&gt;<br />
&lt;option value="2&#8243;&gt;День&lt;/option&gt;<br />
&lt;option value="3&#8243;&gt;Вечер&lt;/option&gt;<br />
&lt;option value="4&#8243;&gt;Ночь&lt;/option&gt;<br />
&lt;/select&gt;&lt;br/&gt;<br />
&lt;br/&gt;<br />
Комментарий:&lt;br/&gt;<br />
&lt;textarea&gt;&lt;/textarea&gt;&lt;br/&gt;<br />
&lt;br/&gt;<br />
Прикрепить файл:&lt;br/&gt;<br />
&lt;input type="file" name="name" /&gt;&lt;br/&gt;<br />
&lt;br/&gt;<br />
&lt;input type="submit" value="Отправить" /&gt;<br />
&lt;/form&gt;</p>
<p>В форму вошло максималное число разнообразных полей.<br />
Теперь код JavaScript-функции:</p>
<p>function checkForm(form) {<br />
// Заранее объявим необходимые переменные<br />
var el, // Сам элемент<br />
elName, // Имя элемента формы<br />
value, // Значение<br />
type; // Атрибут type для input-ов<br />
// Массив списка ошибок, по дефолту пустой<br />
var errorList = [];<br />
// Хэш с текстом ошибок (ключ &#8211; ID ошибки)<br />
var errorText = {<br />
1 : "Не заполнено поле &#8216;Имя&#8217;",<br />
2 : "Не заполнено поле &#8216;E-mail&#8217;",<br />
3 : "Не прикреплен файл",<br />
4 : "Не оставлен комментарий",<br />
5 : "Не выбрано любимое время суток"<br />
}<br />
// Получаем семейство всех элементов формы<br />
// Проходимся по ним в цикле<br />
for (var i = 0; i &lt; form.elements.length; i++) {<br />
el = form.elements[i];<br />
elName = el.nodeName.toLowerCase();<br />
value = el.value;<br />
if (elName == "input") { // INPUT<br />
// Определяем тип input-а<br />
type = el.type.toLowerCase();<br />
// Разбираем все инпуты по типам и обрабатываем содержимое<br />
switch (type) {<br />
case "text" :<br />
if (el.name == "name" &amp;&amp; value == "") errorList.push(1);<br />
if (el.name == "email" &amp;&amp; value == "") errorList.push(2);<br />
break;<br />
case "file" :<br />
if (value == "") errorList.push(3);<br />
break;<br />
case "checkbox" :<br />
// Ничего не делаем, хотя можем<br />
break;<br />
case "radio" :<br />
// Ничего не делаем, хотя можем<br />
break;<br />
default :<br />
// Сюда попадают input-ы, которые не требуют обработки<br />
// type = hidden, submit, button, image<br />
break;<br />
}<br />
} else if (elName == "textarea") { // TEXTAREA<br />
if (value == "") errorList.push(4);<br />
} else if (elName == "select") { // SELECT<br />
if (value == 0) errorList.push(5);<br />
} else {<br />
// Обнаружен неизвестный элемент <img src='http://fixblog.ru/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
}<br />
}<br />
// Финальная стадия<br />
// Если массив ошибок пуст &#8211; возвращаем true<br />
if (!errorList.length) return true;<br />
// Если есть ошибки &#8211; формируем сообщение, выовдим alert<br />
// и возвращаем false<br />
var errorMsg = "При заполнении формы допущены следующие ошибки:\n\n";<br />
for (i = 0; i &lt; errorList.length; i++) {<br />
errorMsg += errorText[errorList[i]] + "\n";<br />
}<br />
alert(errorMsg);<br />
return false;<br />
}</p>
<p>Как видно из скрипта, он не подходит для всех случаев, а по-другому и быть не может. Требования к проверке каждой формы индивидуальны. Однако, незначительная модификация условий в этой функции позволит проверить передаваемые данные из любой формы.</p>
]]></content:encoded>
			<wfw:commentRss>http://fixblog.ru/2010/04/14/%d0%bf%d1%80%d0%be%d0%b2%d0%b5%d1%80%d0%ba%d0%b0-%d1%84%d0%be%d1%80%d0%bc%d1%8b-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>javascript проверка e mail</title>
		<link>http://fixblog.ru/2010/04/14/javascript-%d0%bf%d1%80%d0%be%d0%b2%d0%b5%d1%80%d0%ba%d0%b0-e-mail/</link>
		<comments>http://fixblog.ru/2010/04/14/javascript-%d0%bf%d1%80%d0%be%d0%b2%d0%b5%d1%80%d0%ba%d0%b0-e-mail/#comments</comments>
		<pubDate>Wed, 14 Apr 2010 14:04:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Note]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[validate]]></category>

		<guid isPermaLink="false">http://fixblog.ru/?p=311</guid>
		<description><![CDATA[Например у нас есть поле для ввода емайла. Но мы не хотим чтобы нам  туда вводили всякую ерунду. Поэтому неплохо бы проверять вводимые  данные.
Ниже представлен HTML код самой формы:
&#60;form onsubmit="return  checkmail(this.email.value)" action="#" method="post"&#62;
&#60;input id="email" name="email" /&#62;
&#60;input type="submit" value="Отправить"  /&#62;
&#60;/form&#62;
И код функции на JavaScript, которая и проверяет email.
&#60;script language="javascript"  type="text/javascript"&#62;
function checkmail(value) {
reg = [...]]]></description>
			<content:encoded><![CDATA[<p>Например у нас есть поле для ввода емайла. Но мы не хотим чтобы нам  туда вводили всякую ерунду. Поэтому неплохо бы проверять вводимые  данные.</p>
<p><span id="more-311"></span>Ниже представлен HTML код самой формы:</p>
<p><span style="font-family: Arial;">&lt;form onsubmit="return  checkmail(this.email.value)" action="#" method="post"&gt;<br />
&lt;input id="email" name="email" /&gt;<br />
</span><span style="font-family: Arial;">&lt;input type="submit" value="Отправить"  /&gt;<br />
&lt;/form&gt;</span></p>
<p>И код функции на JavaScript, которая и проверяет email.</p>
<p><span style="font-family: Arial;">&lt;script language="javascript"  type="text/javascript"&gt;<br />
</span><span style="font-family: Arial;">function checkmail(value) {<br />
</span><span style="font-family: Arial;">reg =  /[a-z0-9!#$%&amp;'*+/=?^_`{|}~-]+(?:.[a-z0-9!#$%&amp;'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/;<br />
if (!value.match(reg)) {alert("Пожалуйста, введите свой настоящий  e-mail");<br />
document.getElementById(&#8216;email&#8217;).value=""; return false; }<br />
}<br />
</span><span style="font-family: Arial;">&lt;/script&gt;</span></p>
<p>Впринципе если не хотите вникать в суть дела, можете просто  скопирвать код, всё будет работать <img src='http://fixblog.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://fixblog.ru/2010/04/14/javascript-%d0%bf%d1%80%d0%be%d0%b2%d0%b5%d1%80%d0%ba%d0%b0-e-mail/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

