JavaScript中的表单验证

JavaScript 可用来在数据被送往服务器对HTML 表单中的这些输入数据进行验证。(减轻服务器负荷)
JavaScript 表单验证:
被 JavaScript 验证的这些典型的表单数据有:
用户是否已填写表单中的必填项目?
用户输入的邮件地址是否合法?
用户是否已输入合法的日期?
用户是否在数据域 (numeric field) 中输入了文本?
必填(或必选)项目:
比如:下面的函数用来检查用户是否已填写表单中的必填(或必选)项目。假如必填或必选项为空,那么警告框会弹出,并且函数的返回值为 false,否则函数的返回值则为 true(意味着数据没有问题。

function validate_required(field,alerttxt)
{
with (field)
{
if (value==null||value=="")
  {alert(alerttxt);
return false}
else {return true}
}
}

举一个完整的例子如下:

<html>
<head>
<script type="text/javascript">
function validate_required(field,alerttxt)
{
with (field)
  {
  
if (value==null||value=="")
    {alert(alerttxt);
return false}
  
else {return true}
  }
}

function validate_form(thisform)
{
with (thisform)
  {
  
if (validate_required(email,"Email must be filled out!")==false)
    {email.focus();
return false}
  }
}
</script>
</head>
<body>
<form action="SubmitNews.html" onsubmit="return validate_form(this)" method="post">
Email: 
<input type="text" name="email" size="30">
<input type="submit" value="Submit"> 
</form>
</body>
</html>
E-mail 验证:
输入的数据必须包含 @ 符号和点号(.)。同时,@ 不可以是邮件地址的首字符,并且 @ 之后需有至少一个点号。
<html>
<head>
<script type="text/javascript">
function validate_email(field,alerttxt)
{
with (field)
{
apos
=value.indexOf("@")
dotpos
=value.lastIndexOf(".")
if (apos<1||dotpos-apos<2
  {alert(alerttxt);
return false}
else {return true}
}
}
function validate_form(thisform)
{
with (thisform)
{
if (validate_email(email,"Not a valid e-mail address!")==false)
  {email.focus();
return false}
}
}
</script>
</head>
<body>
<form action="submitpage.htm"onsubmit="return validate_form(this);" method="post">
Email: 
<input type="text" name="email" size="30">
<input type="submit" value="Submit"> 
</form>
</body>
</html>

posted on 2008-07-16 23:50  CodeShark  阅读(2350)  评论(2编辑  收藏  举报

导航