本文介绍如何使用 JavaScript 对 HTML 表单进行基础验证。通过定义 validate_required 函数检查必填字段是否为空,利用 indexOf 和 lastIndexOf 方法验证邮箱中 @ 符号与点号的位置是否符合基本语法。文章提供了完整的函数定义及 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}
}
}
邮箱格式验证逻辑
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>