前端笔记
长乐王

JavaScript表单验证和E-mail验证

JavaScript 表单验证
JavaScript 可用来在数据被送往服务器前对 HTML 表单中的这些输入数据进行验证。
被 JavaScript 验证的这些典型的表单数据有:
    用户是否已填写表单中的必填项目?
    用户输入的邮件地址是否合法?
    用户是否已输入合法的日期?
    用户是否在数据域 (numeric field) 中输入了文本?

必填(或必选)项目
下面的函数用来检查用户是否已填写表单中的必填(或必选)项目。
假如必填或必选项为空,那么警告框会弹出,并且函数的返回值为 false:
function validate_required(field,alerttxt) {
    with (field) {
        if (value==null||value=="") {alert(alerttxt);return false}
        else {return true}
    }
}
下面是连同 HTML 表单的代码:
<html>
<head>
<script>
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 验证
下面的函数检查输入的数据是否符合电子邮件地址的基本语法。
输入值必须包含 @ 符号和点号 "."。同时,@ 不可以是首字符,@ 之后至少有一个点号:
<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>
本文番号: 前端笔记 - JavaScript - JavaScript表单验证和E-mail验证

评论