详解JavaScript表单验证(E-mail 验证)


Posted in Javascript onMarch 31, 2016

本文为大家分享了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 表单的代码:

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

以上就是本文的全部内容,希望对大家学习javascript表单验证有所帮助。

Javascript 相关文章推荐
Prototype最新版(1.5 rc2)使用指南(1)
Jan 10 Javascript
改变javascript函数内部this指针指向的三种方法
Apr 23 Javascript
IE6下js通过css隐藏select的一个bug
Aug 16 Javascript
jquery 插件实现多行文本框[textarea]自动高度
Mar 04 Javascript
Jquery使用小技巧汇总
Dec 29 Javascript
在AngularJS框架中处理数据建模的方式解析
Mar 05 Javascript
jQuery包裹节点用法完整示例
Sep 13 Javascript
详解node中创建服务进程
May 09 Javascript
WdatePicker.js时间日期插件的使用方法
Jul 26 Javascript
node通过express搭建自己的服务器
Sep 30 Javascript
AngularJS日期格式化常见操作实例分析
May 17 Javascript
vue项目base64字符串转图片的实现代码
Jul 13 Javascript
js表单验证实例讲解
Mar 31 #Javascript
javascript创建cookie、读取cookie
Mar 31 #Javascript
基于javascript实现全屏漂浮广告
Mar 31 #Javascript
JS深度拷贝Object Array实例分析
Mar 31 #Javascript
如何消除inline-block属性带来的标签间间隙
Mar 31 #Javascript
JavaScript笔记之数据属性和存储器属性
Mar 31 #Javascript
Node.js中Request模块处理HTTP协议请求的基本使用教程
Mar 31 #Javascript
You might like
php 三维饼图的实现代码
2008/09/28 PHP
THINKPHP+JS实现缩放图片式截图的实现
2010/03/07 PHP
PHP中PDO基础教程 入门级
2011/09/04 PHP
Linux下创建nginx脚本-start、stop、reload…
2014/08/03 PHP
PHP实现将优酷土豆腾讯视频html地址转换成flash swf地址的方法
2017/08/04 PHP
PHP基于MySQLI函数封装的数据库连接工具类【定义与用法】
2017/08/11 PHP
解决php extension 加载顺序问题
2019/08/16 PHP
ajax 文件上传应用简单实现
2009/03/03 Javascript
Web开发者必备的12款超赞jQuery插件
2010/12/03 Javascript
提升你网站水平的jQuery插件集合推荐
2011/04/19 Javascript
ko knockoutjs动态属性绑定技巧应用
2012/11/14 Javascript
Nodejs sublime text 3安装与配置
2014/06/19 NodeJs
js使用html()或text()方法获取设置p标签的显示的值
2014/08/01 Javascript
node.js中的path.basename方法使用说明
2014/12/09 Javascript
jQuery菜单插件superfish使用指南
2015/04/21 Javascript
JS读取XML文件数据并以table形式显示数据的方法(兼容IE与火狐)
2016/06/02 Javascript
JavaScript登录记住密码操作(超简单代码)
2017/03/22 Javascript
Nodejs搭建wss服务器教程
2017/05/24 NodeJs
Node.js中Bootstrap-table的两种分页的实现方法
2017/09/18 Javascript
JS实现的计数排序与基数排序算法示例
2017/12/04 Javascript
JavaScript类的继承方法小结【组合继承分析】
2018/07/11 Javascript
Node.js如何对SQLite的async/await封装详解
2019/02/14 Javascript
基于JavaScript判断两个对象内容是否相等
2020/01/10 Javascript
vue实现登录拦截
2020/06/29 Javascript
[03:47]2015国际邀请赛第三日现场精彩回顾
2015/08/08 DOTA
35个Python编程小技巧
2014/04/01 Python
python设置环境变量的作用和实例
2019/07/09 Python
Python 画出来六维图
2019/07/26 Python
Python3 元组tuple入门基础
2020/02/09 Python
彻底解决pip下载pytorch慢的问题方法
2021/03/01 Python
学前班评语大全
2014/05/04 职场文书
大专生求职信
2014/06/29 职场文书
六一儿童节活动总结
2014/08/27 职场文书
银行转正自我鉴定
2014/09/29 职场文书
个人融资协议书
2014/10/02 职场文书
办公室岗位职责
2015/02/04 职场文书