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

新手上路,请多包涵

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

谢谢你。

原文由 VvDPzZ 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 270
2 个回答

匹配正则表达式

有安全检查

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 测试

原文由 epascarello 发布,翻译遵循 CC BY-SA 3.0 许可协议

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

原文由 qingbo 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题