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 相关文章推荐
asp.net下使用jquery 的ajax+WebService+json 实现无刷新取后台值的实现代码
Sep 19 Javascript
基于jquery编写的横向自适应幻灯片切换特效的实例代码
Aug 06 Javascript
javaScript 页面自动加载事件详解
Feb 10 Javascript
jQuery对下拉框,单选框,多选框的操作
Feb 21 Javascript
通过JS来动态的修改url,实现对url的增删查改
Sep 01 Javascript
Jquery 实现图片轮换
Jan 28 Javascript
移动端翻页插件dropload.js(支持Zepto和jQuery)
Jul 27 Javascript
Vue.js教程之计算属性
Nov 11 Javascript
Angular整合zTree的示例代码
Jan 24 Javascript
JS点击动态添加标签、删除指定标签的代码
Apr 18 Javascript
elementUI vue this.$confirm 和el-dialog 弹出框 移动 示例demo
Jul 03 Javascript
JS typeof fn === 'function' &amp;&amp; fn()详解
Aug 22 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
Netflix将与CLAMP、乙一以及冲方丁等6名知名制作人合伙展开原创动画计划!
2020/03/06 日漫
中高级PHP程序员应该掌握哪些技术?
2016/09/23 PHP
js停止输出代码
2008/07/20 Javascript
Js callBack 返回前一页的js方法
2008/11/30 Javascript
js中将字符串转换成json的三种方式
2011/01/12 Javascript
javascript 学习笔记(六)浏览器类型及版本信息检测代码
2011/04/08 Javascript
jquery控制左右箭头滚动图片列表的实例
2013/05/20 Javascript
js 控制图片大小核心讲解
2013/10/09 Javascript
jQuery实现的Div窗口震动特效
2014/06/09 Javascript
JavaScript中的return语句简单介绍
2015/12/07 Javascript
详解nodejs 文本操作模块-fs模块(三)
2016/12/22 NodeJs
Bootstrap源码学习笔记之bootstrap进度条
2016/12/24 Javascript
AngularJS1.X学习笔记2-数据绑定详解
2017/04/01 Javascript
jQuery用户头像裁剪插件cropbox.js使用详解
2017/06/07 jQuery
vue实现同一个页面可以有多个router-view的方法
2018/09/20 Javascript
koa源码中promise的解读
2018/11/13 Javascript
[44:47]Ti4 循环赛第三日 iG vs NaVi
2014/07/12 DOTA
[00:44]华丽开场!DOTA2勇士令状带来全新对阵画面
2019/05/15 DOTA
python 安装virtualenv和virtualenvwrapper的方法
2017/01/13 Python
Pycharm远程调试openstack的方法
2017/11/21 Python
python 类的继承 实例方法.静态方法.类方法的代码解析
2019/08/23 Python
用python生成与调用cntk模型代码演示方法
2019/08/26 Python
如何打包Python Web项目实现免安装一键启动的方法
2020/05/21 Python
Python3+Flask安装使用教程详解
2021/02/16 Python
HTML5离线缓存Manifest是什么
2016/03/09 HTML / CSS
HTML5 本地存储实现购物车功能
2017/09/07 HTML / CSS
微信小程序之html5 canvas绘图并保存到系统相册
2019/06/20 HTML / CSS
西班牙多品牌鞋店连锁店:Krack
2018/11/30 全球购物
德国高尔夫商店:Par71.de
2020/11/29 全球购物
中东最大的在线宠物店:Dubai Pet Food
2020/06/11 全球购物
应届生的求职推荐信范文
2013/11/30 职场文书
学生期末评语大全
2014/04/30 职场文书
护士个人年度总结范文
2015/02/13 职场文书
css3 利用transform-origin 实现圆点分布在大圆上布局及旋转特效
2021/04/29 HTML / CSS
python+pytest接口自动化之token关联登录的实现
2022/04/06 Python
win11系统中dhcp服务异常什么意思? Win11 DHCP服务异常修复方法
2022/04/08 数码科技