如何使用javascript从电子邮件地址提取用户名?

如何使用javascript从电子邮件地址提取用户名?,javascript,email,Javascript,Email,给定以下电子邮件地址--someone@example.com--如何使用javascript从地址中提取某人 谢谢。字符串。拆分(分隔符、限制)是您想要的方法 "someone@example.com".split('@')[0] ”someone@example.com.split(“@”)[0]带有匹配项的正则表达式 进行安全检查 写成一行 带替换的正则表达式 进行安全检查 写成一行 拆分字符串 进行安全检查 写成一行 每个示例的性能测试 用户名: "someone@example.co

给定以下电子邮件地址--someone@example.com--如何使用javascript从地址中提取某人

谢谢。

字符串。拆分(分隔符、限制)是您想要的方法

"someone@example.com".split('@')[0]

”someone@example.com.split(“@”)[0]
带有匹配项的正则表达式

进行安全检查

写成一行


带替换的正则表达式

进行安全检查

写成一行

拆分字符串

进行安全检查

写成一行

每个示例的性能测试

用户名:

"someone@example.com".replace(/^(.+)@(.+)$/g,'$1')
服务器:

"someone@example.com".replace(/^(.+)@(.+)$/g,'$2')

在这个npm包的帮助下,您可以从电子邮件中生成或获取用户名

  • 二,<代码>npm我从电子邮件生成用户名

  • 使用以下代码从电子邮件中获取用户名:

  • 我的2021更新。这将正确地从包含多个@符号的电子邮件地址输出用户名。仅使用“@”拆分是不安全的,因为如果引用,则允许使用多个


    不确定javascript语义,但我会使用以下模式:/。+(?=@)/以一种功能性的方式:
    str.split(“@”).reduce(user=>user)
    @epascarello-为什么你(或这里的任何人)不使用一个简单的
    str.substring(0,str.indexOf(“@”)
    ?既然你的名声是我的65倍,我很确定我错过了什么,只是不知道是什么…@epascarello我想我仍然可以从一个5年的问题中学到东西。同样的规则在很大程度上仍然适用。如果有人在2022年访问这个页面,我想这个人仍然可以从你对我问题的回答中学到一些东西-/喜欢简单的解决方案吗
    var str="someone@example.com";
    var nameReplace = str.replace(/@.*$/,"");
    var name = nameReplace!==str ? nameReplace : null;
    
    var name = str.replace(/@.*$/,"");
    
    var str="someone@example.com";
    var nameParts = str.split("@");
    var name = nameParts.length==2 ? nameParts[0] : null;
    
    var name = str.split("@")[0];
    
    "someone@example.com".replace(/^(.+)@(.+)$/g,'$1')
    
    "someone@example.com".replace(/^(.+)@(.+)$/g,'$2')
    
    var email = "someone@example.com";
    
    var username = email.substring(0,email.indexOf('@'))
    
    const generateUsername = require('generate-username-from-email')
    var email = "patidarparas13@gmail.com"
    var username = generateUsername(email)
    console.log(username)
    //Output: patidarparas13
    
    function getUsernameFromEmail(email){
        var domainArray = email.split('@')
        var domain = domainArray[domainArray.length-1]
        var reverseEmail = email.split( '' ).reverse( ).join( '' );
        var reverseDomain = domain.split( '' ).reverse( ).join( '' );
        var backwardUsername = reverseEmail.replace(reverseDomain+'@','')
        var username = backwardUsername.split( '' ).reverse( ).join( '' );
      return username;
    }
    
    console.log(getUsernameFromEmail('test@testhello@example.com'))