这听起来可能很简单,因为我没有处理 JavaScript 的经验,所以我想从字符串中删除电子邮件,实际上是尝试登录或注册时的错误消息。
我的错误如下所示:
以下电子邮件[email protected]是不正确的 无效数据 必须关闭当前 session 邮件已注册 ...
因此,我们的想法是从第一个错误中删除电子邮件,如果不存在电子邮件,则将其他错误保留原样。
我发现这段代码可以检测字符串中是否有电子邮件,但找不到使其工作的方法“([^.@\s]+)(\.[^.@\s]+ )*@([^.@\s]+\.)+([^.@\s]+)"
我只想将数据发送到 Google Analytics,并且我试图避免发送个人数据。
提前致谢。
最佳答案
"([^.@\s]+)(\.[^.@\s]+)*@([^.@\s]+\.)+([^.@\s]+)"
是一个正则表达式。它匹配所有看起来像电子邮件的内容。您可以将其与 replace()
和 search()
JavaScript 函数一起使用,您需要用两个 /
分隔表达式。
示例:
var myString = "Hello, my email is <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="c4a6a8a5a6a8a584a6a8a5a6a8a5eaa7aba9" rel="noreferrer noopener nofollow">[email protected]</a>";
// Check if there is an email
if(myString.search(/([^.@\s]+)(\.[^.@\s]+)*@([^.@\s]+\.)+([^.@\s]+)/) !== -1){
console.log("There is an email !");
// Remove it...
myString = myString.replace(/([^.@\s]+)(\.[^.@\s]+)*@([^.@\s]+\.)+([^.@\s]+)/,"");
console.log(myString); // Hello, my email is
}
关于 JavaScript 正则表达式的好教程:http://www.w3schools.com/js/js_regexp.asp
关于javascript - 如何使用 JavaScript (GTM) 从字符串中删除电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36359177/