在"@"符号之前解析文本的电子邮件

Gre*_*ner 10 javascript

我正在尝试编写一个函数,它将用户的电子邮件作为参数并返回电子邮件的第一部分,但不包括"@"符号.问题是我的功能很糟糕,这个功能有问题,但我不确定它是什么.当我尝试将该函数写入页面以查看它是否正常工作时,它会一直显示未定义.

function emailUsername(emailAddress)
{
    var userName = "";
    for(var index = 0; index < emailAddress.length; index++)
    {
        var CharCode = emailAddress.charCodeAt(index);
        if(CharCode = 64)
        {
            break;
        }
        else
        {
            userName += emailAddress.charAt(index);
            return userName;
        }
    }
}

var email = new String(prompt("Enter your email address: ",""));
var write = emailUsername(email);
document.write(write);
Run Code Online (Sandbox Code Playgroud)

我确定还有其他方法可以做到,但我需要大致遵循这种格式使用函数检查"@"之前的内容并使用方法找出它.

SLa*_*aks 36

像这样:

return emailAddress.substring(0, emailAddress.indexOf("@"));
Run Code Online (Sandbox Code Playgroud)


小智 5

function emailUsername(emailAddress) {
   return emailAddress.match(/^(.+)@/)[1];
}
Run Code Online (Sandbox Code Playgroud)


dev*_*ius 5

另一种可能性:

function emailUsername(emailAddress) {
  return emailAddress.split('@')[0]
}
Run Code Online (Sandbox Code Playgroud)

这将在符号处将字符串分成两半@,创建一个包含两部分的数组,然后检索数组中的第一项,即 之前的部分@