首页 > 试题广场 >

邮箱字符串判断

[编程题]邮箱字符串判断
  • 热度指数:36956 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
判断输入是否是正确的邮箱格式

输入描述:
邮箱字符串


输出描述:
true表示格式正确
    function isAvailableEmail(sEmail) {
        var reg = /^[A-z0-9_.-]+@{1}[A-z0-9]+(.com){1}(.cn)?$/;
        return reg.test(sEmail);
    }

发表于 2022-10-13 17:01:10 回复(0)
function isAvailableEmail(sEmail) {
    let reg = /^[\w\.]+@[\w\.]+\.[\w]+/;
    return reg.test(sEmail);
}

发表于 2022-07-24 12:31:00 回复(0)
function isAvailableEmail(sEmail) {
    var regexp = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
    return regexp.test(sEmail)
}

发表于 2022-02-14 18:18:17 回复(0)
function isAvailableEmail(sEmail) {
    return /^([\w+\.])+@\w+([.]\w+)+$/.test(sEmail);
}

分析:
122_.123@qq.com.cm
([\w+\.])+:等同于[a-zA-Z0-9_\.],也就是a-zA-Z0-9_.任意其中一个就是匹配到的,所以不一定要有.;(理解中括号的正则) 例子中匹配到的部分:122_.123
@: 匹配到@
\w+: 一个或多个[a-zA-Z0-9_],例子中匹配的部分:qq(也就是以\w开头的,注意这里没有点)
([.]\w+)+: 以点开头的,后跟一个或多个[a-zA-Z0-9_]:例子匹配到的部分:.com、.cm
$: 结束符(懂的人:这是废话)
发表于 2022-01-06 15:59:25 回复(0)
function isAvailableEmail(sEmail) {
    let kk=/^\w+(\.\w+)*@\w+(\.\w+)+$/g;
    return kk.test(sEmail)
}
真是长见识了,邮箱有这么多种  

发表于 2021-09-16 11:10:42 回复(0)
function isAvailableEmail(sEmail) {
   return /^[\w.]+@[.\w]+$/.test(sEmail)
}
发表于 2021-09-07 09:44:27 回复(0)
function isAvailableEmail(sEmail) {
  var reg = /^[\w\.]+@\w+\.\w+\.?\w*$/
  return reg.test(sEmail)
}
发表于 2021-08-24 15:54:40 回复(0)
 return  /^[A-Za-z\d]+([-_.][A-Za-z\d]+)*@([A-Za-z\d]+[-.])+[A-Za-z\d]{2,4}$/.test(sEmail)

发表于 2021-08-20 14:45:38 回复(0)
function isAvailableEmail(sEmail) {
  // 1286612323@qq.com
  let reg = /^[a-zA-Z][a-zA-Z0-9_]*@[a-zA-Z0-9]+(\.[a-z]{2,}){1,2}/

  return reg.test(sEmail)
}

发表于 2021-08-16 23:40:50 回复(0)
非正则写法
function isAvailableEmail(sEmail) {
// isValid 意思就是初始定义不是空的  var isValid = sEmail.length > 0, numOfAt = 0; //numof  计数统计@ 必须==1
      for(var i = 0; (i < sEmail.length) && isValid; i++) {
        if(   sEmail[i]=='@'  //这里都是判断
           || sEmail[i]=='.' 
           || sEmail[i]=='_'
           || (sEmail[i]>='a' && sEmail[i]<='z') 
           || (sEmail[i]>='A' && sEmail[i]<='Z') 
            ) {
            if (sEmail[i]=='@') {
                numOfAt++; //出现了@就++
                isValid = (numOfAt == 1); //这里必须等于1 因为@只会有一个
            }
            if (sEmail[i] != ' ') {
               continue; 
            }
        }
        isValid = false;
      }
      return isValid;
    }

编辑于 2021-07-22 16:40:08 回复(0)