不用正则和使用正则验证邮箱的合法性

前端之家收集整理的这篇文章主要介绍了不用正则和使用正则验证邮箱的合法性前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

使用javascript的两种方式验证邮箱的合法性。

第一种是不适用正则表达式:

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml”>
<head>
<Meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />
<title>不用正则表达式验证邮箱的合法性</title>
<script type=”text/jscript”>
function check(){
//定义flag标记返回值
var result = false;
//获取到表单中的值
var emailVal = email.value;
if(emailVal.indexOf(‘@’)>0){//如果输入的值中包含了@
//进行分割
var before = emailVal.split(‘@’)[0];//得到的是@之前的所有字符值
var after = emailVal.split(‘@’)[1];//得到的是@之后的所有字符值
if(isTrue(before) && after.indexOf(‘.’)>0){//如果@后面的包含了.
//判断.的前面和后面是否都有内容
alert(“ding”);
if(isTrue(after.split(‘.’)[0]) && isTrue(after.split(‘.’)[1])){
alert(“合法邮箱检测通过”);
return true;
}
}
}
if(!result){
alert(“对不起您输入的邮箱不合法”);
}
}
//判断这里的字符值是否都是合法的
function isTrue(str){
if(str.length == 0){
return false;
}
//进行遍历匹配
for(var i=0; i<str.length; i++){
//定义一个临时存放字符遍历
var temp = str.substring(i,i+1);//对每个字符进行截取匹配
if(!(temp>=’a'&&temp<=’z') && !(temp>=’A'&&temp<=’Z') && !(temp>=’0′&&temp<=’9′) && temp!=’_')
return false;
}
//否则返回true
return true;
}
</script>
</head>
<body>
<input type=”text” id=”email” />
<input type=”submit” value=”检查邮箱的合法性” onclick=”check()”/>
</body>
</html>

第二中方式是采用正则表达式的方式。

1
2
3
4
function isEmail ( str ) {
var reg = / ^ ( [ a - zA - Z0 - 9_ - ] ) + @ ( [ a - zA - Z0 - 9_ - ] ) + ( ( \ . [ a - zA - Z0 - 9_ - ] { 2 , 3 } ) { 1 , 2 } ) $ / ;
return reg . test ( str ) ;
}


文章来源:http://javaforyejin.sinaapp.com/?p=52

原文链接:https://www.f2er.com/regex/362048.html

猜你在找的正则表达式相关文章