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学习笔记之控制页面实现代码
Feb 27 Javascript
jquery判断元素的子元素是否存在的示例代码
Feb 04 Javascript
javascript中数组的定义及使用实例
Jan 21 Javascript
jQuery检测某个元素是否存在代码分享
Jul 09 Javascript
JavaScript如何禁止Backspace键
Dec 02 Javascript
js实现图片无缝滚动特效
Mar 19 Javascript
JS实现基于Sketch.js模拟成群游动的蝌蚪运动动画效果【附demo源码下载】
Aug 18 Javascript
vue webpack实用技巧总结
Apr 24 Javascript
vue实现的仿淘宝购物车功能详解
Jan 27 Javascript
基于Proxy的小程序状态管理实现
Jun 14 Javascript
DatePickerDialog 自定义样式及使用全解
Jul 09 Javascript
微信公众号网页分享功能开发的示例代码
May 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实现域名whois查询的代码(数据源万网、新网)
2010/02/22 PHP
php rsa加密解密使用详解
2015/01/14 PHP
Laravel与CI框架中截取字符串函数
2016/05/08 PHP
浅析PHP数据导出知识点
2018/02/17 PHP
Laravel timestamps 设置为unix时间戳的方法
2019/10/11 PHP
JavaScript 10件让人费解的事情
2010/02/15 Javascript
js 表单提交后按钮变灰的实例代码
2013/08/16 Javascript
跟我学Nodejs(二)--- Node.js事件模块
2014/05/21 NodeJs
分享JS代码实现鼠标放在输入框上输入框和图片同时更换样式
2016/09/01 Javascript
简单的js表格操作
2016/09/24 Javascript
详解nodejs爬虫程序解决gbk等中文编码问题
2017/04/06 NodeJs
jQuery层级选择器_动力节点节点Java学院整理
2017/07/04 jQuery
微信小程序之绑定点击事件实例详解
2017/07/07 Javascript
关于Stream和Buffer的相互转换详解
2017/07/26 Javascript
详解Angular2表单-模板驱动的表单(Template-Driven Forms)
2017/08/04 Javascript
vue+express 构建后台管理系统的示例代码
2018/07/19 Javascript
vue项目使用axios发送请求让ajax请求头部携带cookie的方法
2018/09/26 Javascript
JavaScript函数式编程(Functional Programming)声明式与命令式实例分析
2019/05/21 Javascript
Layui 数据表格批量删除和多条件搜索的实例
2019/09/04 Javascript
如何编写一个 Webpack Loader的实现
2020/10/18 Javascript
关于better-scroll插件的无法滑动bug(2021通过插件解决)
2021/03/01 Javascript
利用python获得时间的实例说明
2013/03/25 Python
python引用DLL文件的方法
2015/05/11 Python
Django中传递参数到URLconf的视图函数中的方法
2015/07/18 Python
利用python获取当前日期前后N天或N月日期的方法示例
2017/07/30 Python
在PyCharm中控制台输出日志分层级分颜色显示的方法
2019/07/11 Python
Python实现队列的方法示例小结【数组,链表】
2020/02/22 Python
电子专业推荐信范文
2013/11/18 职场文书
学生励志演讲稿
2014/01/06 职场文书
精彩的英文自荐信
2014/01/30 职场文书
诚实守信演讲稿
2014/09/01 职场文书
无私奉献演讲稿
2014/09/04 职场文书
安全先进班组材料
2014/12/26 职场文书
pt-archiver 主键自增
2022/04/26 MySQL
python井字棋游戏实现人机对战
2022/04/28 Python
SQL Server中锁的用法
2022/05/20 SQL Server