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

问题描述:

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

Given the following email address -- someone@example.com -- how can I extract someone from the address using javascript?

谢谢.

Regular Expression with match

安全检查

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

写成一行

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

正则表达式替换

安全检查

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];

每个示例的性能测试

JSPerf 测试