我已经看过了this https://stackoverflow.com/questions/1695633?sort=newest#sort-top,这在一定程度上是有帮助的。
问题就在这里。我有一个通过用户单击传播到元素中的用户列表;像这样的东西:
<div id="box">
joe-user
page-joe-user
someone-else
page-someone-else
</div>
单击时,我想确保用户尚未被单击到 div 中。所以,我正在做类似的事情:
if ( ! $('#box').html().match(rcpt) )
{
update_div();
}
else
{
alert(rcpt+' already exists.');
}
然而,由于 javascript 缺乏对正则表达式的插值,导致我的警报在以下用例中触发:page-joe-user
被选中,然后用户选择joe-user
,这显然不完全相同。
在 Perl 中我会做类似的事情:
if ( $rcpt =~ /^\Qrcpt\E/ )
{
# code
}
我想做的就是将 match() 更改为:
if ( ! $('#box').html().match(/^rcpt/) )
{
# code
}
if ( ! $('#box').html().match(rcpt) )
看起来有点有希望,但也失败了。使用new RegExp()
在函数 IE 中使用复杂 RE 语法的串联也不起作用$('#box').html().match(new RegExp('^'+rcpt))
。我也尝试过$('#box').html().match('/^'+rcpt'/')
。我只能想象我错过了一些东西。我对 javascript 还很陌生。
我似乎无法在此网站上找到真正解决此类用例的任何内容。
TIA