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 相关文章推荐
prototype Element学习笔记(篇一)
Oct 26 Javascript
jQuery 性能优化手册 推荐
Feb 23 Javascript
父页面显示遮罩层弹出半透明状态的dialog
Mar 04 Javascript
APP中javascript+css3实现下拉刷新效果
Jan 27 Javascript
JSON 必知必会 观后记
Oct 27 Javascript
bootstrap学习使用(导航条、下拉菜单、轮播、栅格布局等)
Dec 01 Javascript
angular ng-click防止重复提交实例
Jun 16 Javascript
Angular 4.0学习教程之架构详解
Sep 12 Javascript
vue的全局变量和全局拦截请求器的示例代码
Sep 13 Javascript
浅谈Webpack多页应用HMR卡住问题
Apr 24 Javascript
微信小程序登录态和检验注册过没的app.js写法
May 22 Javascript
vue监听用户输入和点击功能
Sep 27 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
php获取mysql版本的几种方法小结
2008/03/25 PHP
用PHP书写安全的脚本代码
2012/02/05 PHP
使用php实现快钱支付功能(涉及到接口)
2013/07/01 PHP
php+curl 发送图片处理代码分享
2015/07/09 PHP
PHP抓取及分析网页的方法详解
2016/04/26 PHP
修改Laravel5.3中的路由文件与路径
2016/08/10 PHP
PHP实现笛卡尔积算法的实例讲解
2019/12/22 PHP
Javascript操作select方法大全[新增、修改、删除、选中、清空、判断存在等]
2008/09/26 Javascript
jquery ajax 登录验证实现代码
2009/09/23 Javascript
js 禁用只读文本框获得焦点时的退格键
2010/04/25 Javascript
javascript 仿QQ滑动菜单效果代码
2010/09/03 Javascript
jquery实现图片灯箱明暗的遮罩效果
2013/11/15 Javascript
jQuery简单动画变换效果实例分析
2016/07/04 Javascript
微信小程序基于本地缓存实现点赞功能的方法
2017/12/18 Javascript
巧妙运用v-model实现父子组件传值的方法示例
2019/04/07 Javascript
html2canvas属性和使用方法以及如何使用html2canvas将HTML内容写入Canvas生成图片
2020/01/12 Javascript
openLayer4实现动态改变标注图标
2020/08/17 Javascript
Javascript 模拟mvc实现点餐程序案例详解
2020/12/24 Javascript
python使用ctypes模块调用windowsapi获取系统版本示例
2014/04/17 Python
Python中防止sql注入的方法详解
2017/02/25 Python
分数霸榜! python助你微信跳一跳拿高分
2018/01/08 Python
python计算二维矩形IOU实例
2020/01/18 Python
Django调用支付宝接口代码实例详解
2020/04/04 Python
Python实现ElGamal加密算法的示例代码
2020/06/19 Python
2021年的Python 时间轴和即将推出的功能详解
2020/07/27 Python
美国南加州的原创极限运动潮牌:Vans(范斯)
2016/08/05 全球购物
Steve Madden官网:美国鞋类品牌
2017/01/29 全球购物
Sofft鞋官网:世界知名鞋类品牌
2017/03/28 全球购物
Simons官方网站:加拿大时尚零售商
2020/02/20 全球购物
KOHLER科勒美国官网:国际著名卫浴橱柜领先品牌
2020/06/27 全球购物
介绍一下EJB的体系结构
2012/08/01 面试题
表扬信格式
2014/01/12 职场文书
开学典礼演讲稿
2014/05/23 职场文书
2015年机关作风和效能建设工作总结
2015/07/23 职场文书
Vue项目打包、合并及压缩优化网页响应速度
2021/07/07 Vue.js
Nginx设置HTTPS的方法步骤 443证书配置方法
2022/03/21 Servers