Javascript 从电子邮件中删除联系人信息

Javascript 从电子邮件中删除联系人信息,javascript,regex,Javascript,Regex,我有时会让用户输入电子邮件,如: John Smith 我有一个类似于/(.+[])/g的正则表达式,但这不适用于此 我希望有如下输出: john@example.org 我只想要电子邮件组件,并且想忽略用户可能给出的任何其他内容 编辑:人们开始感到困惑。我只是想让输入变成输出。这与验证无关。我已经确认了。这与在进入验证之前清理输入有关。类似的事情 /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a

我有时会让用户输入电子邮件,如:

John Smith

我有一个类似于
/(.+[])/g的正则表达式,但这不适用于此

我希望有如下输出:

john@example.org

我只想要电子邮件组件,并且想忽略用户可能给出的任何其他内容

编辑:人们开始感到困惑。我只是想让输入变成输出。这与验证无关。我已经确认了。这与在进入验证之前清理输入有关。

类似的事情

/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/

也许这会起作用,不过您可能需要根据您希望在电子邮件地址中允许的字符对其进行一些修改

<(\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3})>

假设您输入的电子邮件始终有一个“@”符号,您可以选择您的电子邮件使用您希望接受的符号制作的单个令牌。 例如:

[A-Za-z0-9.]*?@[A-Za-z0-9.]*

test test test john smith@hotmail.com test
将导致

smith@hotmail.com
电子邮件可以包含破折号和下划线(
john)-smith@hotmail.com“< /代码>”,因此考虑将它们添加到<代码> [AZ-ZO-9]。/COD>字符类,使其成为代码> [AZ-Z0-9\\-[] ] /代码>,或任何您认为合适的字符。

< Pr>:
var str = "John Smith <john@example.org>",
mail = /[^<>]+/g.exec(/<.+>/g.exec(str))[0];
var str=“John Smith”,
mail=/[^]+/g.exec(//g.exec(str))[0];

请详细说明您的问题。不清楚您到底想做什么。@CD。。我不想验证电子邮件。你读过这个问题吗?@spectabularbob输入的电子邮件地址被隐藏了,我把它放在代码标签中,现在应该更有意义了。我建议使用解析器。(特别是评论)怎么样?@bishop我有一个类似于
John Smith
的输入,我想去掉任何不是电子邮件的东西。所以字符串应该变成
john@example.org
。谢谢,这正是我要找的东西!