Я уже просмотрел это, и это было в какой-то степени полезно.
Вот в чем проблема. У меня есть список пользователей, переданных в элемент с помощью щелчка пользователя; что-то вроде этого:
<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()
также не работает при объединении сложного синтаксиса RE в функции IE $('#box').html().match(new RegExp('^'+rcpt))
. Я также пробовал $('#box').html().match('/^'+rcpt'/')
. Могу только представить, что я что-то упускаю. Я довольно новичок в javascript.
Кажется, я не могу найти ничего, что действительно касается такого варианта использования, здесь, на этом сайте.
ТИА