Javascript 正则表达式将电子邮件地址从字符串包装为mailto

Javascript 正则表达式将电子邮件地址从字符串包装为mailto,javascript,regex,Javascript,Regex,想打开一些文本吗email@address.com进入一些文本中 下面是我在replace中使用的正则表达式: “一些文本email@address.com“.替换(/([a-zA-Z0-9\.-])+([0-9]{1,3}+.[0-9]{1,3}.[0-9]{1,3}.\);([a-zA-Z0-9\.-]+.+)([a-zA-Z]{2,4}.[0-9]{1,3}.(]?)/gi,” 正则表达式工作不正常,请帮助。您可以使用replace()函数: var str=“一些文本email@add

想打开
一些文本吗email@address.com
进入
一些文本中

下面是我在replace中使用的正则表达式:

“一些文本email@address.com“.替换(/([a-zA-Z0-9\.-])+([0-9]{1,3}+.[0-9]{1,3}.[0-9]{1,3}.\);([a-zA-Z0-9\.-]+.+)([a-zA-Z]{2,4}.[0-9]{1,3}.(]?)/gi,”

正则表达式工作不正常,请帮助。

您可以使用
replace()
函数:

var str=“一些文本email@address.com";
var regex=/\w+@\w+\.\w+/gi;
var replacedString=str.replace(正则表达式,函数(匹配){
返回“”;
});
console.log(replacedString)您可以使用
replace()
函数:

var str=“一些文本email@address.com";
var regex=/\w+@\w+\.\w+/gi;
var replacedString=str.replace(正则表达式,函数(匹配){
返回“”;
});

console.log(replacedString)
根据@Toto的建议,您可以使用此正则表达式
\S+@\S+
来包含电子邮件中除空格外的所有可能(和不可能)字符

(\S+@\S+)
如果只希望包含英文字符
a-z
、数字
0-9
、点
、下划线
和短划线
-
。您可以这样做:

([\w\.\-]+@\w+\.\w+)
如果要将任何语言的所有可能字符添加到上一个字符中,同时排除特殊字符
%^&*
,可以使用
\pL
,如下所示:

([\w\.\-\pL]+@\w+\.\w+)
最后一个正则表达式的演示:

var Email=“一些文本email@address.com.";
Email=Email.replace(/([\w\.\-\pL]+@\w+\.\w+/g');

文件。书面(电子邮件)
根据@Toto的建议,您可以使用此正则表达式
\S+@\S+
来包含电子邮件中除空格外的所有可能(和不可能)字符

(\S+@\S+)
如果只希望包含英文字符
a-z
、数字
0-9
、点
、下划线
和短划线
-
。您可以这样做:

([\w\.\-]+@\w+\.\w+)
如果要将任何语言的所有可能字符添加到上一个字符中,同时排除特殊字符
%^&*
,可以使用
\pL
,如下所示:

([\w\.\-\pL]+@\w+\.\w+)
最后一个正则表达式的演示:

var Email=“一些文本email@address.com.";
Email=Email.replace(/([\w\.\-\pL]+@\w+\.\w+/g');

文件。书面(电子邮件)这是一个老问题,但是我在代码中做了类似的事情,并且必须修复一个错误,其中电子邮件地址已经包装在mailto链接中。这是我解决这个问题的简单方法:

var rx = /([mailto:\w.\-pL]+@\w+.[\w.\-pL]+)/gi
return str.replace(rx, function (match) {
  return (match.indexOf('mailto') === 0) ? match : `<a href="mailto:${match}">${match}</a>`
})
var rx=/([mailto:\w.\-pL]+@\w+.[\w.\-pL]+)/gi
返回str.replace(接收,功能(匹配){
返回(match.indexOf('mailto')==0)?匹配:``
})
正则表达式可以选择匹配“mailto:”,replacer函数检查它是否在匹配中,如果在匹配中,则返回未修改的结果


也许这会帮助一位谷歌路人。

老问题,但我在代码中做了类似的事情,不得不修复一个错误,其中电子邮件地址已经包装在mailto链接中。这是我解决这个问题的简单方法:

var rx = /([mailto:\w.\-pL]+@\w+.[\w.\-pL]+)/gi
return str.replace(rx, function (match) {
  return (match.indexOf('mailto') === 0) ? match : `<a href="mailto:${match}">${match}</a>`
})
var rx=/([mailto:\w.\-pL]+@\w+.[\w.\-pL]+)/gi
返回str.replace(接收,功能(匹配){
返回(match.indexOf('mailto')==0)?匹配:``
})
正则表达式可以选择匹配“mailto:”,replacer函数检查它是否在匹配中,如果在匹配中,则返回未修改的结果


也许这会帮助一位谷歌路人。

我知道的最简单的电子邮件正则表达式是:
\S+@\S+
我知道的最简单的电子邮件正则表达式是:
\S+@\S+
电子邮件怎么样:
Jean François@localhost
?请看:一些有效的电子邮件。@Toto:)我假设电子邮件是正式的abc@xyz.pqr. 这实际上还不够吗?不,还不够。一些常见的电子邮件:
firstname。lastname@domain.uk.com
abc-def@whatever-你想要什么样的电子邮件:
Jean François@localhost
?请看:一些有效的电子邮件。@Toto:)我假设电子邮件是正式的abc@xyz.pqr. 这实际上还不够吗?不,还不够。一些常见的电子邮件:
firstname。lastname@domain.uk.com
abc-def@whatever-你想要的答案太棒了!我们如何解释结尾带有句点的字符串,例如“something”email@address.com."? 最后一个逗号需要删除。@Steve,哦,是的,逗号。我忘了。我修正了我的密码。检查更新的答案和演示。谢谢你的反馈。回答得好!我们如何解释结尾带有句点的字符串,例如“something”email@address.com."? 最后一个逗号需要删除。@Steve,哦,是的,逗号。我忘了。我修正了我的密码。检查更新的答案和演示。谢谢你的反馈。