详解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 的 trim 函数的代码
Aug 13 Javascript
JavaScript中的细节分析
Jun 30 Javascript
javascript仿php的print_r函数输出json数据
Sep 13 Javascript
Bootstrap富文本组件wysiwyg数据保存到mysql的方法
May 09 Javascript
15个非常实用的JavaScript代码片段
Dec 18 Javascript
javascript实现去除HTML标签的方法
Dec 26 Javascript
深入理解js中的加载事件
Feb 08 Javascript
AngularJS使用ocLazyLoad实现js延迟加载
Jul 05 Javascript
深入学习TypeScript 、React、 Redux和Ant-Design的最佳实践
Jun 17 Javascript
如何使用JavaScript检测空闲的浏览器选项卡
May 28 Javascript
vue下拉刷新组件的开发及slot的使用详解
Dec 23 Vue.js
详解template标签用法(含vue中的用法总结)
Jan 12 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获取当前文件所在目录 getcwd()函数
2009/05/13 PHP
php正则取img标记中任意属性(正则替换去掉或改变图片img标记中的任意属性)
2013/08/13 PHP
thinkphp的c方法使用示例
2014/02/24 PHP
PHP的Yii框架的常用日志操作总结
2015/12/08 PHP
PHP使用SWOOLE扩展实现定时同步 MySQL 数据
2017/04/09 PHP
jQuery select的操作实现代码
2009/05/06 Javascript
JQuery里选择超链接的实现代码
2011/05/22 Javascript
jQuery应用之jQuery链用法实例
2015/01/19 Javascript
深入理解JavaScript系列(26):设计模式之构造函数模式详解
2015/03/03 Javascript
JavaScript如何自定义trim方法
2015/07/28 Javascript
JavaScript对HTML DOM使用EventListener进行操作
2015/10/21 Javascript
vue-cli如何快速构建vue项目
2017/04/26 Javascript
详解Vue + Vuex 如何使用 vm.$nextTick
2017/11/20 Javascript
旺旺在线客服代码 旺旺客服代码生成器
2018/01/09 Javascript
nodejs 最新版安装npm 的使用详解
2018/01/18 NodeJs
Vue2.0子同级组件之间数据交互方法
2018/02/28 Javascript
解决vue页面渲染但dom没渲染的操作
2020/07/27 Javascript
如何在面试中手写出javascript节流和防抖函数
2020/10/22 Javascript
jQuery实现容器间的元素拖拽功能
2020/12/01 jQuery
[01:29:46]DOTA2上海特级锦标赛C组资格赛#1 OG VS LGD第二局
2016/02/27 DOTA
[01:35]2018完美盛典章节片——共竞
2018/12/17 DOTA
python subprocess 杀掉全部派生的子进程方法
2017/01/16 Python
tensorflow入门之训练简单的神经网络方法
2018/02/26 Python
django settings.py 配置文件及介绍
2019/07/15 Python
python自动化测试之DDT数据驱动的实现代码
2019/07/23 Python
PyTorch 解决Dataset和Dataloader遇到的问题
2020/01/08 Python
QML用PathView实现轮播图
2020/06/03 Python
美国保健品专家:Life Extension
2018/05/04 全球购物
行政前台岗位职责
2013/12/04 职场文书
亲戚结婚的请假条
2014/02/11 职场文书
工伤事故赔偿协议书
2014/04/15 职场文书
个人工作主要事迹
2014/05/08 职场文书
2014年幼儿园德育工作总结
2014/12/17 职场文书
个人承诺书格式范文
2015/04/29 职场文书
pytorch MSELoss计算平均的实现方法
2021/05/12 Python
Python selenium模拟网页点击爬虫交管12123违章数据
2021/05/26 Python