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 相关文章推荐
jQuery 回车事件enter使用示例
Feb 18 Javascript
JS中自定义定时器让它在某一时刻执行
Sep 02 Javascript
jQuery 动态云标签插件
Nov 11 Javascript
javascript中键盘事件用法实例分析
Jan 30 Javascript
jQuery 获取跨域XML(RSS)数据的相关总结分析
May 18 Javascript
Vue.JS入门教程之事件监听
Dec 01 Javascript
JS如何判断浏览器类型和详细区分IE各版本浏览器
Mar 04 Javascript
基于JavaScript实现的希尔排序算法分析
Apr 14 Javascript
微信小程序picker组件下拉框选择input输入框的实例
Sep 20 Javascript
解决Vue使用mint-ui loadmore实现上拉加载与下拉刷新出现一个页面使用多个上拉加载后冲突问题
Nov 07 Javascript
浅谈React碰到v-if
Nov 04 Javascript
JavaScript原型链中函数和对象的理解
Jun 16 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 编程的 5个良好习惯
2009/02/20 PHP
PHP基础教程(php入门基础教程)一些code代码
2013/01/06 PHP
PHP实现的链式队列结构示例
2017/09/15 PHP
Javascript remove 自定义数组删除方法
2009/10/20 Javascript
利用jQuery的deferred对象实现异步按顺序加载JS文件
2013/03/17 Javascript
jQuery子属性过滤选择器用法分析
2015/02/10 Javascript
JS+CSS实现表格高亮的方法
2015/08/05 Javascript
jquery可定制的在线UEditor编辑器
2015/11/17 Javascript
基于javascript实现页面加载loading效果
2020/09/15 Javascript
JavaScript利用HTML DOM进行文档操作的方法
2016/03/28 Javascript
jQuery图片轮播(二)利用构造函数和原型创建对象以实现继承
2016/12/06 Javascript
Bootstrap 表单验证formValidation 实现远程验证功能
2017/05/17 Javascript
angular+webpack2实战例子
2017/05/23 Javascript
JavaScript之json_动力节点Java学院整理
2017/06/29 Javascript
利用10行js代码实现上下滚动公告效果
2017/12/08 Javascript
解决node修改后需频繁手动重启的问题
2018/05/13 Javascript
在node环境下parse Smarty模板的使用示例代码
2019/11/15 Javascript
python 安装virtualenv和virtualenvwrapper的方法
2017/01/13 Python
Python实现对字典分别按键(key)和值(value)进行排序的方法分析
2018/12/19 Python
Django中多种重定向方法使用详解
2019/07/17 Python
Django DRF认证组件流程实现原理详解
2020/08/17 Python
Django用户认证系统如何实现自定义
2020/11/12 Python
pycharm 多行批量缩进和反向缩进快捷键介绍
2021/01/15 Python
带有css3动画效果的兼容多浏览器简单导航条示例
2014/01/26 HTML / CSS
基于HTML5的齿轮动画特效
2016/02/29 HTML / CSS
HTML5中indexedDB 数据库的使用实例
2017/05/11 HTML / CSS
美国时装品牌:Nautica(诺帝卡)
2016/08/28 全球购物
印尼值得信赖的在线交易网站:Bukalapak
2019/03/11 全球购物
亲子拓展活动方案
2014/02/20 职场文书
公立医院改革实施方案
2014/03/14 职场文书
旅游与环境专业求职信
2014/06/05 职场文书
舞蹈兴趣小组活动总结
2014/07/07 职场文书
公共场所禁烟倡议书
2014/08/30 职场文书
2016新教师岗前培训心得体会
2016/01/08 职场文书
Mysql 如何实现多张无关联表查询数据并分页
2021/06/05 MySQL
使用Nginx搭载rtmp直播服务器的方法
2021/10/16 Servers