详解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 相关文章推荐
javascript读写XML实现广告轮换(兼容IE、FF)
Aug 09 Javascript
js实现的折叠导航示例
Nov 29 Javascript
键盘上一张下一张兼容IE/google/firefox等浏览器
Jan 28 Javascript
jquery仿百度百科底部浮动导航特效
Aug 08 Javascript
javascript省市区三级联动下拉框菜单实例演示
Nov 29 Javascript
JavaScript判断DIV内容是否为空的方法
Jan 29 Javascript
原生js实现新闻列表展开/收起全文功能
Jan 20 Javascript
js封装成插件_Canvas统计图插件编写实例
Sep 12 Javascript
使用 electron 实现类似新版 QQ 的登录界面效果(阴影、背景动画、窗体3D翻转)
Oct 23 Javascript
JavaScript栈和队列相关操作与实现方法详解
Dec 07 Javascript
three.js实现炫酷的全景3D重力感应
Dec 30 Javascript
Vue的生命周期一起来看看
Feb 24 Vue.js
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/04/09 PHP
php操作xml入门之xml标签的属性分析
2015/01/23 PHP
PHP 匿名函数与注意事项详细介绍
2016/11/26 PHP
ThinkPHP中Widget扩展的两种写法及调用方法详解
2017/05/04 PHP
PHP手机号中间四位用星号*代替显示的实例
2017/06/02 PHP
慎用 somefunction.prototype 分析
2009/06/02 Javascript
Grid得到选择行数据的方法总结
2011/01/17 Javascript
JavaScript通过setTimeout实时显示当前时间的方法
2015/04/16 Javascript
jQuery插件pagewalkthrough实现引导页效果
2015/07/05 Javascript
深入理解JavaScript中的对象复制(Object Clone)
2016/05/18 Javascript
javascript中获取class的简单实现
2016/07/12 Javascript
ES6新特性一: let和const命令详解
2017/04/20 Javascript
基于Bootstrap框架菜鸟入门教程(推荐)
2017/09/17 Javascript
Three.js利用orbit controls插件(轨道控制)控制模型交互动作详解
2017/09/25 Javascript
浅谈layui 绑定form submit提交表单的注意事项
2019/10/25 Javascript
viewer.js一个强大的基于jQuery的图像查看插件(支持旋转、缩放)
2020/04/01 jQuery
JavaScript中继承原理与用法实例入门
2020/05/09 Javascript
Array.filter中如何正确使用Async
2020/11/04 Javascript
[01:09:50]VP vs Pain 2018国际邀请赛小组赛BO2 第二场
2018/08/20 DOTA
[55:56]NB vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.22
2019/09/05 DOTA
Python 含参构造函数实例详解
2017/05/25 Python
Python matplotlib以日期为x轴作图代码实例
2019/11/22 Python
Python+opencv+pyaudio实现带声音屏幕录制
2019/12/23 Python
Pycharm制作搞怪弹窗的实现代码
2021/02/19 Python
HTML5实现移动端复制功能
2018/04/19 HTML / CSS
阿联酋团购网站:Groupon阿联酋
2016/10/14 全球购物
荷兰时尚精品店:Labels Fashion
2020/03/22 全球购物
股东协议书范本
2014/04/14 职场文书
语文教研活动总结
2014/07/02 职场文书
医院领导班子四风对照检查材料
2014/09/27 职场文书
诉讼代理人授权委托书
2014/10/11 职场文书
婚礼女方父母答谢词
2015/01/04 职场文书
小学推普周活动总结
2015/05/07 职场文书
《悲惨世界》:比天空更广阔的是人的心灵
2020/01/16 职场文书
MySQL query_cache_type 参数与使用详解
2021/07/01 MySQL
golang为什么要统一错误处理
2022/04/03 Golang