详解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 相关文章推荐
可以显示单图片,多图片ajax请求的ThickBox3.1类下载
Dec 23 Javascript
Javascript图像处理思路及实现代码
Dec 25 Javascript
将form表单中的元素转换成对象的方法适用表单提交
May 02 Javascript
Node.js中的模块机制学习笔记
Nov 04 Javascript
javascript多行字符串的简单实现方式
May 04 Javascript
5个最顶级jQuery图表类库插件【jquery插件库】
May 05 Javascript
js+html5生成自动排列对话框实例
Oct 09 Javascript
js经验分享 JavaScript反调试技巧
Mar 10 Javascript
Vue中使用 setTimeout() setInterval()函数的问题
Sep 13 Javascript
JavaScript剩余操作符Rest Operator详解
Jul 20 Javascript
vue中js判断长时间不操作界面自动退出登录(推荐)
Jan 22 Javascript
Vue鼠标滚轮滚动切换路由效果的实现方法
Aug 04 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 Ajax中文乱码问题解决方法
2009/02/27 PHP
php 搜索框提示(自动完成)实例代码
2012/02/05 PHP
PHP中模拟处理HTTP PUT请求的例子
2014/07/22 PHP
php字符串函数学习之strstr()
2015/03/27 PHP
php自定义截取中文字符串-utf8版
2017/02/27 PHP
PHP中for循环与foreach的区别
2017/03/06 PHP
基于jquery的实现简单的表格中增加或删除下一行
2010/08/01 Javascript
JS分割字符串并放入数组的函数
2011/07/04 Javascript
JS的Document属性和方法小结
2013/09/17 Javascript
Javascript排序算法之计数排序的实例
2014/04/05 Javascript
JQuery实现动态表格点击按钮表格增加一行
2014/08/24 Javascript
javascript上下方向键控制表格行选中并高亮显示的方法
2015/02/13 Javascript
javascript实现在指定元素中垂直水平居中
2015/09/13 Javascript
JavaScript 实现的 zip 压缩和解压缩工具包Zip.js使用详解
2015/12/14 Javascript
基于jquery实现省市区三级联动效果
2015/12/25 Javascript
微信小程序 触控事件详细介绍
2016/10/17 Javascript
初探JavaScript 面向对象(推荐)
2017/09/03 Javascript
Django中使用jquery的ajax进行数据交互的实例代码
2017/10/15 jQuery
ES6知识点整理之对象解构赋值应用示例
2019/04/17 Javascript
初学node.js中实现删除用户路由
2019/05/27 Javascript
JavaScript之数组扁平化详解
2019/06/03 Javascript
一步一步实现Vue的响应式(对象观测)
2019/09/02 Javascript
基于vue-cli3创建libs库的实现方法
2019/12/04 Javascript
JS实现基本的网页计算器功能示例
2020/01/16 Javascript
vue监听浏览器原生返回按钮,进行路由转跳操作
2020/09/09 Javascript
JS前端基于canvas给图片添加水印
2020/11/11 Javascript
学习Python selenium自动化网页抓取器
2018/01/20 Python
学习Python3 Dlib19.7进行人脸面部识别
2018/01/24 Python
Tensorflow中使用tfrecord方式读取数据的方法
2018/06/19 Python
DeinDesign德国:设计自己的手机壳
2019/12/14 全球购物
介绍一下JMS编程步骤
2015/09/22 面试题
基层党员公开承诺书
2014/05/29 职场文书
员工家属慰问信
2015/03/24 职场文书
放假通知范文
2015/04/14 职场文书
2016高一新生军训心得体会
2016/01/11 职场文书
oracle连接ODBC sqlserver数据源的详细步骤
2021/07/25 Oracle