2

我正在尝试一个非常简单的正则表达式,我的问题是我只需要确保 if is 在data-titlemy中找到以下术语之一div,然后警报会这样说:Person Name, Email, Title还有一些字符串。

我使用了一些组合,但我无法做到......所以我在这里做了一个小提琴:jsfiddle,我刚刚删除了我的正则表达式尝试除了|,所以我只留下了我想抓住的主要短语。有人可以帮忙吗?我知道可以使用 substring 或 indexOf 来完成,但我想用正则表达式来完成。

JS:

title = $('#me').attr('data-title');
alert(title);

if (title.match((Person Name) | (Email) | (Message) | (Company) | (Mobile) | (Title))) alert("It matched!");​

HTML:

<div id='me' data-title='en_Person name'>MY NAME IS FOO</div>

​</p>

4

2 回答 2

1

尝试在您的论点中使用适当的正则表达式String.match

if (title.match(/Person Name|Email|Message|Company|Mobile|Title/)) {
    alert("It matched!");
}​

http://jsfiddle.net/mblase75/aLdWD/3/

于 2012-12-18T20:17:31.130 回答
1

http://jsfiddle.net/aLdWD/2/

您需要将正则表达式包装在/分隔符中;你所拥有的只是一个语法错误。您还需要使用i修饰符来忽略大小写(标题中有“人名”,而表达式中有“人名”)。括号不添加任何内容。

于 2012-12-18T20:17:50.127 回答