Что означает /.*=/, '' в var id = this.href.replace (/.*=/, '') ;? - PullRequest
1 голос
/ 07 января 2010

Что значит

/.*=/,'' 

среднее в

var id=this.href.replace(/.*=/,'');

Полный код

function delete_subscriber(){
var id=this.href.replace(/.*=/,'');
this.id='delete_link_'+id;
if(confirm('Are you sure you want to delete this subscriber?'))
$.getJSON('delete.php?ajax=true&id='+id, remove_row);
return false;
}

Я предполагаю, что это регулярное выражение, но я мало что знаю об этом.

Ответы [ 6 ]

11 голосов
/ 07 января 2010

Заменяет любой символ (кроме разрывов строк) вплоть до последнего знака равенства, включая ничто Итак, учитывая этот текст:

"I am some text before=and I am some text after"

Вы получите:

"and I am some text after"

И учитывая этот текст:

"I am some text before=and I am in between=and I am after"

вы получите:

"and I am after"
4 голосов
/ 07 января 2010

Это регулярное выражение .

Конкретный синтаксис здесь следующий (комментарии после # с):

/    # Begin an expression
.*   # Match all characters
=    # Until an equals sign is met
/    # End the expression

В остальном это функция, которая заменяет все, что соответствует этому регулярному выражению, и удаляет его.

2 голосов
/ 07 января 2010

Вот более подробное объяснение:

/.*=/,''
  • // обозначает регулярное выражение
  • . обозначает любой символ, кроме новой строки
  • * означает 0 или любое число (любой символ в данном случае)
  • = буквально означает символ равенства
  • '' - это строка, которой она заменяется (т.е. ничего)
2 голосов
/ 07 января 2010

Это означает, что нужно взять все, включая знак равенства, и заменить его ничем, поэтому возьмите что-то вроде

http://yourserver.com/blah/blah/blah/id=20 and change it to 20.
1 голос
/ 07 января 2010

/.=/ - это _регулярное выражение_, которое соответствует: во-первых, последовательности любого символа (представленного как. как указано самим персонажем. Символы '/' разделяют регулярное выражение.

Вызов replace() передает пустую строку замены. Цель такого вызова для замены - удалить соответствующий текст. Таким образом, этот вызов удаляет текст слева от знака равенства и сам знак равенства.

В контексте всей функции идентификатору присваивается значение всего текста после знака равенства на href текущей страницы. Таким образом, этот код распаковывает URL для получения параметров, помеченных наличием знака равенства в URL.

0 голосов
/ 07 января 2010

Косые черты начинаются / заканчиваются регулярным выражением. Период соответствует любому символу. Звездочка означает совпадение с любым числом (ноль или более) предыдущего выражения (любой символ). Знак равенства буквально соответствует знаку равенства. Таким образом, «. * =» Означает что угодно (включая вообще ничего), за которым следует знак равенства. Второй параметр функции shits, '', является пустой строкой, поэтому соответствующая строка будет удалена (заменена ничем).

Короче говоря, этот конкретный фрагмент удалит все что раньше, включая знак равенства из строки (this.href, текущий URL). Так что будет извлекать, например, "42" из foo.php? id = 42.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...