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

VvD*_*PzZ 18 javascript email

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

谢谢.

epa*_*llo 40

正则表达式匹配

有安全检查

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

写成一行

var name = str.match(/^([^@]*)@/)[1];
Run Code Online (Sandbox Code Playgroud)

正则表达式替换

有安全检查

var str="someone@example.com";
var nameReplace = str.replace(/@.*$/,"");
var name = nameReplace!==str ? nameReplace : null;
Run Code Online (Sandbox Code Playgroud)

写成一行

var name = str.replace(/@.*$/,"");
Run Code Online (Sandbox Code Playgroud)

拆分字符串

有安全检查

var str="someone@example.com";
var nameParts = str.split("@");
var name = nameParts.length==2 ? nameParts[0] : null;
Run Code Online (Sandbox Code Playgroud)

写成一行

var name = str.split("@")[0];
Run Code Online (Sandbox Code Playgroud)

每个示例的性能测试

JSPerf测试

  • @epascarello 我认为我仍然可以从 5 年前的问题中学习。同样的规则仍然在很大程度上适用。如果有人在 2022 年访问此页面,我想他仍然可以从您对我的问题的回答中学到一些东西。 (2认同)

qin*_*gbo 18

"someone@example.com".split('@')[0]
Run Code Online (Sandbox Code Playgroud)