Вот мой код
<form action="/" method="post" name="preview">
<div class="form">
<p><input type="text" name="name" value="" /> Контактное лицо</p>
<p><input type="text" name="email" value="" /> E-mail</p>
</div>
<p><input type="checkbox" name="agree" value="on" /> Согласен на все условия</p>
<p class="red" id="alert"></p>
<input type="button" value="отправить" onclick="checkForm()" />
</form>
<script type="text/javascript">
function text (str) { return /[0-9_;:'!~?=+<|>]/g.test(str); }
function numeric (str) { return /^[0-9-\+\(\)\s]+z/.test(str + "z"); }
function mail (str) { return /^[a-z0-9_\.]+@[a-z0-9_\.]+.[a-z]{2,3}$/.test(str); }
function checkForm ()
{
var title;
var elem;
var dutyField = "Не заполнено поле ";
var wrongField = "Неверное значение поля ";
var check = true;
function checkError (field, str)
{
document.getElementById("alert").innerHTML = str;
document.forms.preview.field.focus();
check = false;
}
document.getElementById("alert").innerHTML = "";
if (check)
{
title = '"Контактное лицо"';
elem = document.preview.name.value;
if (elem.length == 0) checkError('name', dutyField + title);
else if (text(elem)) checkError('name', wrongField + title);
}
if (check)
{
title = '"E-mail"';
elem = document.preview.email.value;
if (elem.length == 0) checkError('email', dutyField + title);
else if (!mail(elem)) checkError('email', wrongField + title);
}
if (check) { document.preview.submit(); }
return check;
}
</script>