js判断是否为邮件

如题所述

可以根据正则表达式判断某个值是否是邮箱格式:

邮箱正则表达式:

 var RegEmail = /^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;

JS验证代码:

var userEmail="[email protected]";
if(RegEmail.test(userEmail))//如果返回true,表示userEmail符合邮箱格式
{}
else
{}

你可以试试!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-03-30

<script>
function checkemail(str){
//在JavaScript中,正则表达式只能使用"/"开头和结束,不能使用双引号
var Expression=//w+([-+.']/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*/;
var objExp=new RegExp(Expression);
if(objExp.test(str)==true){
return true;
}else{
return false;
}
}

function check(myform){
if(myform.email.value==""){
alert("请输入Email地址!");myform.email.focus();return;
}
if(!checkemail(myform.email.value)){
alert("您输入Email地址不正确!");myform.email.focus();return;
}
myform.submit();
}
</script>
<form name="myform">
<input type="text" name="email">
<input type="button" value="提交" onclick="check(myform)">

</form>

本回答被网友采纳
第2个回答  2017-07-25

1、使用正则验证

<SCRIPT LANGUAGE=javascript RUNAT=Server>
function isEmail(strEmail) {
//声明邮箱正则
 var myreg = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
    if(!myreg.test(temp.value))//对输入的值进行判断
    {
        alert('提示\n\n请输入有效的E_mail!');
       myreg.focus();
      return false;
        }
}
</SCRIPT>
<input type=text onblur=isEmail(this.value)>

2、使用js分段判断是否符合邮件格式

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); //符合数字和规定的字符返回true
     }
    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); //邮件名合法 

}

第3个回答  2014-03-27
var reg = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
var value = "[email protected]";
if(!reg.test(value)) {
    alert("请输入有效的邮箱地址!");
}

第4个回答  2017-07-12
<script type="text/javascript">        
function isValidMail() {            
  var TextVal = document.getElementById("TextBox1").value;            
  var Regex = /^(?:\w+\.?)*\w+@(?:\w+\.)*\w+$/;            
  if (Regex.test(TextVal)){                
  alert(true);            
  }            
  else {                
  if (TextVal == "") {                    
    alert("请输入电子邮件地址!!");                    
  return false;                
  }                
  else {                    
  alert("您好,你输入不正确,请重新输入;");                    
     document.getElementById("TextBox1").value = "";                    
  return false;                
    }            
  }        
}    
</script>

相似回答