详解JavaScript表单验证(E-mail 验证)


Posted in Javascript onMarch 31, 2016

本文为大家分享了JavaScript表单验证,被 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表单验证有所帮助。

Javascript 相关文章推荐
User Scripts: Video Download by User Scripts
May 14 Javascript
用jscript实现新建word文档
Jun 15 Javascript
jQuery带箭头提示框tooltips插件集锦
Nov 17 Javascript
jQuery老黄历完整实现方法
Jan 16 Javascript
Bootstrap每天必学之标签与徽章
Nov 27 Javascript
jQuery实现指定区域外单击关闭指定层的方法【经典】
Jun 22 Javascript
Vue导出json数据到Excel电子表格的示例
Dec 04 Javascript
jQuery Validate插件ajax方式验证输入值的实例
Dec 21 jQuery
jQuery实现百度图片移入移出内容提示框上下左右移动的效果
Jun 05 jQuery
JavaScript 变量,数据类型基础实例详解【变量、字符串、数组、对象等】
Jan 04 Javascript
JavaScript 正则应用详解【模式、欲查、反向引用等】
May 13 Javascript
小程序自定义圆形进度条
Nov 17 Javascript
js表单验证实例讲解
Mar 31 #Javascript
javascript创建cookie、读取cookie
Mar 31 #Javascript
基于javascript实现全屏漂浮广告
Mar 31 #Javascript
JS深度拷贝Object Array实例分析
Mar 31 #Javascript
如何消除inline-block属性带来的标签间间隙
Mar 31 #Javascript
JavaScript笔记之数据属性和存储器属性
Mar 31 #Javascript
Node.js中Request模块处理HTTP协议请求的基本使用教程
Mar 31 #Javascript
You might like
PHP在网页中动态生成PDF文件详细教程
2014/07/05 PHP
PHP+JS三级菜单联动菜单实现方法
2016/02/24 PHP
PHP实现微信红包金额拆分试玩的算法示例
2018/04/07 PHP
php和asp语法上的区别总结
2019/05/12 PHP
js获取单元格自定义属性值的代码(IE/Firefox)
2010/04/05 Javascript
IE6图片加载的一个BUG解决方法
2010/07/13 Javascript
javascript window.open打开新窗口后无法再次打开该窗口问题的解决方法
2014/04/12 Javascript
javascript实现漂亮的拖动层,窗口拖拽特效
2015/04/24 Javascript
JS实现网页上随机产生超链接地址的方法
2015/11/09 Javascript
js实现遍历含有input的table实例
2015/12/07 Javascript
【JS+CSS3】实现带预览图幻灯片效果的示例代码
2016/03/17 Javascript
深入理解js promise chain
2016/05/05 Javascript
js将json格式的对象拼接成复杂的url参数方法
2016/05/25 Javascript
实例解析js中try、catch、finally的执行规则
2017/02/24 Javascript
vue-router的HTML5 History 模式设置
2018/09/08 Javascript
小程序日历控件使用方法详解
2018/12/29 Javascript
详解微信小程序自定义组件的实现及数据交互
2019/07/22 Javascript
小程序自定义圆形进度条
2020/11/17 Javascript
Python装饰器decorator用法实例
2014/11/10 Python
Linux下通过python访问MySQL、Oracle、SQL Server数据库的方法
2016/04/23 Python
Python实现TCP协议下的端口映射功能的脚本程序示例
2016/06/14 Python
python安装教程
2018/02/28 Python
使用Python对微信好友进行数据分析
2018/06/27 Python
详解基于django实现的webssh简单例子
2018/07/17 Python
Python基于SMTP协议实现发送邮件功能详解
2018/08/14 Python
python3中property使用方法详解
2019/04/23 Python
pycharm设置鼠标悬停查看方法设置
2019/07/29 Python
纯CSS3实现给头像加个光芒四射且旋转的背景动画效果
2014/05/07 HTML / CSS
测绘工程个人的自我评价
2013/11/23 职场文书
搞笑车尾标语
2014/06/23 职场文书
村委会贫困证明范文
2014/09/21 职场文书
2015年大学生工作总结
2015/04/21 职场文书
2016年教师节特级教师获奖感言
2015/12/09 职场文书
2016年6月份红领巾广播稿
2015/12/21 职场文书
mybatis 获取无数据的字段不显示的问题
2021/07/15 Java/Android
mysql 生成连续日期及变量赋值
2022/03/20 MySQL