JavaScript表单验证实现代码


Posted in Javascript onMay 22, 2017

JavaScript 可用来在数据被送往服务器前对 HTML 表单中的这些输入数据进行验证

JavaScript 表单验证

JavaScript 可用来在数据被送往服务器前对 HTML 表单中的这些输入数据进行验证。
被 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 相关文章推荐
form中限制文本字节数js代码
Jun 10 Javascript
event.keyCode键码值表 附只能输入特定的字符串代码
May 15 Javascript
基于jquery的一个拖拽到指定区域内的效果
Sep 21 Javascript
由点击页面其它地方隐藏div所想到的jQuery的delegate
Aug 29 Javascript
js图片预加载示例
Apr 30 Javascript
JQuery Mobile实现导航栏和页脚
Mar 09 Javascript
Node.js Express 框架 POST方法详解
Jan 23 Javascript
原生js开发的日历插件
Feb 04 Javascript
js实现无缝滚动图
Feb 22 Javascript
xmlplus组件设计系列之网格(DataGrid)(10)
May 05 Javascript
Vue实现远程获取路由与页面刷新导致404错误的解决
Jan 31 Javascript
vue路由切换时取消之前的所有请求操作
Sep 01 Javascript
JQuery 封装 Ajax 常用方法(推荐)
May 21 #jQuery
原生JS实现N级菜单的代码
May 21 #Javascript
Ionic + Angular.js实现图片轮播的方法示例
May 21 #Javascript
详解Angular2中Input和Output用法及示例
May 21 #Javascript
Angular2中如何使用ngx-translate进行国际化
May 21 #Javascript
详解angularjs利用ui-route异步加载组件
May 21 #Javascript
如何在AngularJs中调用第三方插件库
May 21 #Javascript
You might like
在PHP3中实现SESSION的功能(三)
2006/10/09 PHP
php递归创建和删除文件夹的代码小结
2012/04/13 PHP
PHP学习笔记 IIS7下安装配置php环境
2012/10/29 PHP
跟我学Laravel之配置Laravel
2014/10/15 PHP
Laravel框架实现的批量删除功能示例
2019/01/16 PHP
PHP的cookie与session原理及用法详解
2019/09/27 PHP
js获取单元格自定义属性值的代码(IE/Firefox)
2010/04/05 Javascript
基于jquery的气泡提示效果
2010/05/31 Javascript
JavaScript游戏之是男人就下100层代码打包
2010/11/08 Javascript
jQuery 拖动层(在可视区域范围内)
2012/05/24 Javascript
javascript设计模式 接口介绍
2012/07/24 Javascript
第六篇Bootstrap表格样式介绍
2016/06/21 Javascript
JS提示:Uncaught SyntaxError: Unexpected token ILLEGAL错误的解决方法
2016/08/19 Javascript
利用canvas中toDataURL()将图片转为dataURL(base64)的方法详解
2017/11/20 Javascript
AngularJS基于MVC的复杂操作实例讲解
2017/12/31 Javascript
js实现上传并压缩图片效果
2018/01/10 Javascript
javascript如何实现create方法
2019/11/04 Javascript
Vue检测屏幕变化来改变不同的charts样式实例
2020/10/26 Javascript
浅谈python 里面的单下划线与双下划线的区别
2017/12/01 Python
python实现一个简单的并查集的示例代码
2018/03/19 Python
Django+Ajax+jQuery实现网页动态更新的实例
2018/05/28 Python
详解Django中类视图使用装饰器的方式
2018/08/12 Python
Python第三方库h5py_读取mat文件并显示值的方法
2019/02/08 Python
详解pandas使用drop_duplicates去除DataFrame重复项参数
2019/08/01 Python
python防止随意修改类属性的实现方法
2019/08/21 Python
使用Python绘制台风轨迹图的示例代码
2020/09/21 Python
Chantelle仙黛尔内衣美国官网:法国第一品牌内衣
2018/07/26 全球购物
美国高档帽子网上商店:Hats.com
2018/08/09 全球购物
琳达·法罗眼镜英国官网:Linda Farrow英国
2021/01/19 全球购物
轻化专业学生实习自我鉴定
2013/09/20 职场文书
法律顾问服务方案
2014/05/15 职场文书
2015年秋季小班开学寄语
2015/05/27 职场文书
小学一年级数学教学反思
2016/02/16 职场文书
修改MySQL的数据库引擎为INNODB的方法
2021/05/26 MySQL
golang为什么要统一错误处理
2022/04/03 Golang
Golang Elasticsearches 批量修改查询及发送MQ
2022/04/19 Golang