2016-04-01 139 views
2

这听起来很简单,因为我没有经验,因为我想处理JavaScript,我想从字符串中删除电子邮件,实际上是一个错误消息,同时尝试登录或注册。如何从JavaScript中删除电子邮件(GTM)

我的错误是这样的:

以下电子邮件[email protected]是不正确 无效数据 必须关闭当前会话 邮件已经注册 ...

这样的想法是从第一个错误中删除电子邮件,如果没有电子邮件存在,则保留现在的其他错误。 ([^。@ \ s] +)(\。[^​​。@ \ s]

我发现此代码来检测字符串中是否存在电子邮件,但无法找到使其工作的方式。 +)*([^。@ \ s] + \。)+([^。@ \ s] +)

我只是想将数据发送到谷歌分析,我试图避免发送个人数据。

在此先感谢。

+0

另一种选择是将事件发送到由特定的错误消息或错误事件触发GA。通过这种方式,您可以避免使用Javascript以正则表达式删除字符串,并且您可以自己定制数据(事件类别,操作,标签),并且您肯定可以避免PII问题。 – nyuen

回答

2

"([^[email protected]\s]+)(\.[^[email protected]\s]+)*@([^[email protected]\s]+\.)+([^[email protected]\s]+)"是一个正则表达式。它匹配看起来像电子邮件的所有内容。您可以将它与replace()search() JavaScript函数一起使用,您需要用两个/来划分表达式。

例子:

var myString = "Hello, my email is [email protected]"; 

// Check if there is an email 
if(myString.search(/([^[email protected]\s]+)(\.[^[email protected]\s]+)*@([^[email protected]\s]+\.)+([^[email protected]\s]+)/) !== -1){ 
    console.log("There is an email !"); 
    // Remove it... 
    myString = myString.replace(/([^[email protected]\s]+)(\.[^[email protected]\s]+)*@([^[email protected]\s]+\.)+([^[email protected]\s]+)/,""); 
    console.log(myString); // Hello, my email is 
} 

关于JavaScript的正则表达式很好的教程:http://www.w3schools.com/js/js_regexp.asp

+0

谢谢你,字符串工作得很好,甚至包括连字符和下划线。我即将发布它,看看它是如何发展的。 –

相关问题