gpt4 book ai didi

javascript - 如何使用 jQuery 选择特定字符串和一些字符串?

转载 作者:行者123 更新时间:2023-11-28 07:08:43 26 4
gpt4 key购买 nike

我正在创建一个 Chrome 扩展程序,它将扫描网页以查找具有特定域的电子邮件地址。在此示例中,我们将使用@xyz.com 作为域。

在我的内容脚本 script.js 和硬编码的 HMTL 页面 index.html 中,我有以下内容:

$(document).ready(function() {


$('body:contains("@xyz.com")').css("text-decoration", "underline");

});
.container {
margin: 0 auto;
display: block;
padding: 10px 10px;
text-align: center;
}
<!DOCTYPE html>
<html>

<head>
<script src="https://code.jquery.com/jquery-3.0.0-alpha1.js"></script>
<meta charset="utf-8">
<title>my page</title>
</head>

<body>

<div class="container">
<h1>Welcome!</h1>
<br>
<div class="text-container">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ut, tenetur natus doloremque laborum quos iste ipsum rerum obcaecati impedit odit illo dolorum ab tempora nihil dicta earum fugiat. Temporibus, voluptatibus. Lorem ipsum JohnJones.@xyz.com
, consectetur adipisicing elit. Eos, doloribus, dolorem iusto blanditiis unde eius illum consequuntur neque dicta incidunt ullam ea hic porro optio ratione repellat perspiciatis. Enim, iure! Lorem ipsum dolor sit amet, consectetur adipisicing
elit. Error, nostrum, aliquid, animi, ut quas placeat totam sunt tempora commodi nihil ullam alias modi dicta saepe minima ab quo voluptatem obcaecati? Lorem ipsum dolor sit amet, consectetur adipisicing elit. Harum, dolor quis. Sunt, ut, explicabo,
aliquam SarahBrown.@xyz.com tempore quidem voluptates cupiditate voluptas illo saepe quaerat numquam recusandae? Qui, necessitatibus, est!</p>
</div>
</div>
</body>

</html>

我试图只选择电子邮件地址,但这显然行不通,因为它选择了所有内容。

如何选择与我的关键字(域)匹配的文本,然后进一步选择它左侧的字符以捕获名称,直到它遇到空格或电子邮件地址无法使用的非法字符?

这是有问题的,因为此扩展程序将在不同的页面上运行,因此无法确定 100% 的成功率将嵌套在哪个元素文本中。

最佳答案

正则表达式起初令人困惑,但它是此类事情的最佳选择。这是我用来检测电子邮件的正则表达式

[\w|._%+-]*@xyz.com

将其分解,“\w”匹配任何单词字符。 “|”表示“或”和“._%+-”是可以在电子邮件中使用的其他字符。括号后的“*”表示匹配括号内容的任意数量的字符。其余的正是它的样子。

正则表达式代码是通过在代码前后放置一个“/”来指定的,最后的“g”告诉它匹配多个值。

您可以找到有关替换命令如何工作的更多信息 here .

请参阅下面使用您的代码的工作示例:

var emailPattern = new RegExp(/[\w|._%+-]*@xyz.com/g);
var el = document.getElementsByTagName("p")[0];
el.innerHTML = el.innerHTML.replace(emailPattern, "<u>$&</u>");
.container {
margin: 0 auto;
display: block;
padding: 10px 10px;
text-align: center;
}
<!DOCTYPE html>
<html>

<head>
<script src="https://code.jquery.com/jquery-3.0.0-alpha1.js"></script>
<meta charset="utf-8">
<title>my page</title>
</head>

<body>

<div class="container">
<h1>Welcome!</h1>
<br>
<div class="text-container">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ut, tenetur natus doloremque laborum quos iste ipsum rerum obcaecati impedit odit illo dolorum ab tempora nihil dicta earum fugiat. Temporibus, voluptatibus. Lorem ipsum JohnJones.@xyz.com
, consectetur adipisicing elit. Eos, doloribus, dolorem iusto blanditiis unde eius illum consequuntur neque dicta incidunt ullam ea hic porro optio ratione repellat perspiciatis. Enim, iure! Lorem ipsum dolor sit amet, consectetur adipisicing
elit. Error, nostrum, aliquid, animi, ut quas placeat totam sunt tempora commodi nihil ullam alias modi dicta saepe minima ab quo voluptatem obcaecati? Lorem ipsum dolor sit amet, consectetur adipisicing elit. Harum, dolor quis. Sunt, ut, explicabo,
aliquam SarahBrown.@xyz.com tempore quidem voluptates cupiditate voluptas illo saepe quaerat numquam recusandae? Qui, necessitatibus, est!</p>
</div>
</div>
</body>

</html>

如果您需要匹配其他域的电子邮件,您可以改用此正则表达式:

[\w|.%+-]*@\w*.[\w|.%+-]*\b

关于javascript - 如何使用 jQuery 选择特定字符串和一些字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32799538/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com