我正在尝试编写一个函数,它将用户的电子邮件作为参数并返回电子邮件的第一部分,但不包括"@"符号.问题是我的功能很糟糕,这个功能有问题,但我不确定它是什么.当我尝试将该函数写入页面以查看它是否正常工作时,它会一直显示未定义.
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)
另一种可能性:
function emailUsername(emailAddress) {
return emailAddress.split('@')[0]
}
Run Code Online (Sandbox Code Playgroud)
这将在符号处将字符串分成两半@,创建一个包含两部分的数组,然后检索数组中的第一项,即 之前的部分@。