Как я могу извлечь имя пользователя из адреса электронной почты с помощью javascript?

Учитывая следующий адрес электронной почты - [email protected] - как я могу извлечь кого-либо из адреса с помощью javascript?

Спасибо.

Ответ 1

Регулярное выражение с совпадением

с проверками безопасности

var str="[email protected]";
var nameMatch = str.match(/^([^@]*)@/);
var name = nameMatch ? nameMatch[1] : null;

написанный как одна строка

var name = str.match(/^([^@]*)@/)[1];

Регулярное выражение с заменой

с проверками безопасности

var str="[email protected]";
var nameReplace = str.replace(/@.*$/,"");
var name = nameReplace!==str ? nameReplace : null;

написанный как одна строка

var name = str.replace(/@.*$/,"");

Сплит-строка

с проверками безопасности

var str="[email protected]";
var nameParts = str.split("@");
var name = nameParts.length==2 ? nameParts[0] : null;

написанный как одна строка

var name = str.split("@")[0];

Тесты производительности каждого примера

Тесты JSPerf

Ответ 4

string.split (разделитель, лимит) - это метод, который вы хотите

"[email protected]".split("@")[0]

Ответ 5

var email = "[email protected]";

var username = email.substring(0,email.indexOf('@'))