站内搜索:

在线手册

javascript教程——基础教程

JavaScript 表单验证
作者:不详   2008-5-1

JavaScript 可用来在数据被送往服务器前对 HTML 表单中的这些输入数据进行验证。

JavaScript 表单验证

JavaScript 可用来在数据被送往服务器前对 HTML 表单中的这些输入数据进行验证。

被 JavaScript 验证的这些典型的表单数据有:

必填(或必选)项目

下面的函数用来检查用户是否已填写表单中的必填(或必选)项目。假如必填或必选项为空,那么警告框会弹出,并且函数的返回值为 false,否则函数的返回值则为 true(意味着数据没有问题):

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

下面是连同 HTML 表单的代码:

<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="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>

E-mail 验证

下面的函数检查输入的数据是否符合电子邮件地址的基本语法。

意思就是说,输入的数据必须包含 @ 符号和点号(.)。同时,@ 不可以是邮件地址的首字符,并且 @ 之后需有至少一个点号:

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} 
} 
}

下面是连同 HTML 表单的完整代码:

<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>
本站文章可直接用浏览器打印,无须专门打印页。    TOP