JavaScript验证Email(3种方法)


Posted in Javascript onSeptember 21, 2015

今天为大家推荐三种JavaScript验证Email方法,希望对大家的学习有所帮助。
 第一种:javascript验证邮箱格式

<SCRIPT LANGUAGE=javascript RUNAT=Server>
function isEmail(strEmail) {
if (strEmail.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1)
return true;
else
alert("oh");
}
</SCRIPT>
<input type=text onblur=isEmail(this.value)>

第二种:用Javascript验证email填写是否正确

<html>
<head>
<title>test</title>
<script language="javascript">
function emailCheck () {
var emailStr=document.all.form1.tel.value;
alert(emailStr);
var emailPat=/^(.+)@(.+)$/;
var matchArray=emailStr.match(emailPat);
if (matchArray==null) {
alert("电子邮件地址必须包括 ( @ 和 . )")
return false;
}
return true;
}
</script>
</head>

<body>
<form name="form1">
<input type="text" name="tel"/>
<input type="button" value="press" onclick="emailCheck()"/>
</form>


</span>
</body>
</html>

第三种:js验证Email

function char_test(chr) 
//字符检测函数 
{ 
var i; 
var smallch="abcdefghijklmnopqrstuvwxyz"; 
var bigch="ABCDEFGHIJKLMNOPQRSTUVWXYZ"; 
for(i=0;i<26;i++) 
if(chr==smallch.charAt(i) || chr==bigch.charAt(i)) 
 return(1); 
return(0); 
} 

function spchar_test(chr) 
//数字和特殊字符检测函数 
{ 
var i; 
var spch="_-.0123456789"; 
for (i=0;i<13;i++) 
 if(chr==spch.charAt(i)) 
 return(1); 
return(0); 
} 

function email_test(str) 
{ 
var i,flag=0; 
var at_symbol=0; 
//“@”检测的位置 
var dot_symbol=0; 
//“.”检测的位置 
if(char_test(str.charAt(0))==0 ) 
return (1); 
//首字符必须用字母 

for (i=1;i<str.length;i++) 
if(str.charAt(i)=='@') 
 { 
 at_symbol=i; 
 break; 
 } 
//检测“@”的位置 

if(at_symbol==str.length-1 || at_symbol==0) 
return(2); 
//没有邮件服务器域名 

if(at_symbol<3) 
return(3); 
//帐号少于三个字符 

if(at_symbol>19 ) 
return(4); 
//帐号多于十九个字符 

for(i=1;i<at_symbol;i++) 
if(char_test(str.charAt(i))==0 && spchar_test(str.charAt(i))==0) 
 return (5); 
for(i=at_symbol+1;i<str.length;i++) 
if(char_test(str.charAt(i))==0 && spchar_test(str.charAt(i))==0) 
 return (5); 
//不能用其它的特殊字符  
 
for(i=at_symbol+1;i<str.length;i++) 
if(str.charAt(i)=='.') dot_symbol=i; 
for(i=at_symbol+1;i<str.length;i++) 
if(dot_symbol==0 || dot_symbol==str.length-1) 
//简单的检测有没有“.”,以确定服务器名是否合法 
return (6); 
 
return (0); 
//邮件名合法 
}

以上就是JavaScript验证Email方法,大家学会了吗?

Javascript 相关文章推荐
改进:论坛UBB代码自动插入方式
Dec 22 Javascript
Jquery刷新页面背景图片随机变换的实现方法
Mar 15 Javascript
jquery更换文章内容与改变字体大小代码
Sep 30 Javascript
AngularJS + Node.js + MongoDB开发的基于高德地图位置的通讯录
Jan 02 Javascript
JavaScript实现多个重叠层点击切换效果的方法
Apr 24 Javascript
jQuery实现的AJAX简单弹出层效果代码
Nov 26 Javascript
微信小程序链接传参并跳转新页面
Nov 29 Javascript
JavaScript调试之console.log调试的一个小技巧分享
Aug 07 Javascript
webpack之引入图片的实现及问题
Oct 08 Javascript
详解如何使用webpack打包多页jquery项目
Feb 01 jQuery
详解如何给React-Router添加路由页面切换时的过渡动画
Apr 25 Javascript
jQuery实现数字华容道小游戏(实例代码)
Jan 16 jQuery
基于jQuery实现多层次的手风琴效果附源码
Sep 21 #Javascript
基于insertBefore制作简单的循环插空效果
Sep 21 #Javascript
JS实现适合于后台使用的动画折叠菜单效果
Sep 21 #Javascript
jQuery实现响应鼠标滚动的动感菜单效果
Sep 21 #Javascript
JS+CSS实现简单的二级下拉导航菜单效果
Sep 21 #Javascript
JS实现超简单的仿QQ折叠菜单效果
Sep 21 #Javascript
基于replaceChild制作简单的吞噬特效
Sep 21 #Javascript
You might like
PHP响应post请求上传文件的方法
2015/12/17 PHP
详解PHP中array_rand函数的使用方法
2016/09/11 PHP
PHP判断用户是否已经登录(跳转到不同页面或者执行不同动作)
2016/09/22 PHP
深入认识javascript中的eval函数
2009/11/02 Javascript
js 代码优化点滴记录
2012/02/19 Javascript
javascript动画对象支持加速、减速、缓入、缓出的实现代码
2012/09/30 Javascript
jQuery中parent()方法用法实例
2015/01/07 Javascript
javascript实现支持移动设备画廊
2015/08/24 Javascript
js浏览器html5表单验证
2016/10/17 Javascript
Node.js利用Net模块实现多人命令行聊天室的方法
2016/12/23 Javascript
jQuery.Form实现Ajax上传文件同时设置headers的方法
2017/06/26 jQuery
Vue.js项目部署到服务器的详细步骤
2017/07/17 Javascript
vue中倒计时组件的实例代码
2018/07/06 Javascript
vue 项目build错误异常的解决方法
2019/04/22 Javascript
vue项目打包后怎样优雅的解决跨域
2019/05/26 Javascript
jQuery与原生JavaScript选择HTML元素集合用法对比分析
2019/11/26 jQuery
Vue自定义组件的四种方式示例详解
2020/02/28 Javascript
React.js组件实现拖拽排序组件功能过程解析
2020/04/27 Javascript
解决pycharm无法调用pip安装的包问题
2018/05/18 Python
python Tkinter版学生管理系统
2019/02/20 Python
python mysql断开重连的实现方法
2019/07/26 Python
解析PyCharm Python运行权限问题
2020/01/08 Python
python实现udp聊天窗口
2020/03/31 Python
pytorch 多分类问题,计算百分比操作
2020/07/09 Python
实例教程 HTML5 Canvas 超炫酷烟花绽放动画实现代码
2014/11/05 HTML / CSS
Lenox官网:精美的瓷器&独特的礼品
2017/02/12 全球购物
Invicta手表官方商店:百年制表历史的瑞士腕表品牌
2019/09/26 全球购物
介绍一下Linux内核的排队自旋锁
2014/08/27 面试题
优秀企业获奖感言
2014/02/01 职场文书
退休党员个人对照检查材料思想汇报
2014/09/29 职场文书
2015年五四青年节活动总结
2015/02/10 职场文书
小学六一主持词开场白
2015/05/28 职场文书
公司保密管理制度
2015/08/04 职场文书
SqlServer: 如何更改表的文件组?(进而改变存储位置)
2021/04/05 SQL Server
Nginx报404错误的详细解决方法
2022/07/23 Servers
Win11 22H2 2022怎么更新? 获得Win1122H22022版本升级技巧
2022/09/23 数码科技