На этот вопрос уже есть ответ:

У меня есть список адресов электронной почты, но для того, чтобы назначить имя пользователя новой переменной, мне нужно удалить все символы после символа @. Есть ли способ сделать это с помощью регулярных выражений в JavaScript?

var input = "john@email.com" //this is my input
var result = "john" //this is what I need after stripping all characters after the @ symbol

function strip(input){
this.result =  //how can I strip everything after the @ ??
}

Этот вопрос был задан ранее и уже имеет ответ. Если эти ответы не полностью отвечают на ваш вопрос, пожалуйста, задайте новый вопрос .

. Вы можете split() получить строку {{} и получить первый элемент. @ Если в строке электронной почты не требуется проверка, вы можете использовать

var input = "john@email.com";
let res =input.split('@')[0]
console.log(res)

, но в результате вы все равно получите «Джон», если входная строка электронной почты будет «Джон @»

function strip(input){
        var pattern = /(.*?)@.*?/
        var output = input.match(pattern);
        var result =  output && output[1] ? output[1] : ""   //how can I strip everything after the @ ??
        console.log("Input--> "   input   "  Output --> "   result);
    }
    
    strip("john@email.com");
    strip("@email.com");
    strip("email.com");
    strip("john@");

Но в результате вы все равно получите «Джон», если строка входящей электронной почты будет «John @»