什么是
/.*=/,''
表示
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;
}
我认为它是正则表达式,但我对此知之甚少。
答案 0 :(得分:11)
它替换任何字符(换行符除外),包括最后一个等号,没有任何内容。所以给出了这个文字:
"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"
答案 1 :(得分:4)
此处的具体语法如下(#
之后的注释):
/ # Begin an expression
.* # Match all characters
= # Until an equals sign is met
/ # End the expression
其余部分是一个函数,用于替换此正则表达式匹配的任何内容并将其删除。
答案 2 :(得分:2)
这意味着,将所有内容包括在内并包含一个等号并将其替换为任何内容,所以请使用
之类的内容http://yourserver.com/blah/blah/blah/id=20 and change it to 20.
答案 3 :(得分:2)
以下是更详细的解释:
/.*=/,''
//
表示正则表达式.
表示除换行符之外的任何字符*
表示0或任意数量(本例中为任何字符)=
字面意思是等号''
是替换它的字符串(即没有)答案 4 :(得分:1)
对replace()
的调用会传递一个空的替换字符串。这种替换调用的目的是删除匹配的文本。因此,此调用将删除等号左侧的文本和等号本身。
在整体功能的上下文中,在当前页面的href
中,在等号后,为id分配了所有文本的值。因此,此代码正在解压缩URL以获取由URL中存在等号的标记,它会出现。
答案 5 :(得分:0)
斜杠开始/结束正则表达式。 句点与任何角色匹配。 星号表示匹配前一个表达式(任何字符)的任意数字(零个或多个)。 等号从字面上匹配等号。 因此,“。* =”表示任何内容(包括任何内容),后跟等号。 shits函数的第二个参数''是一个空字符串,因此匹配的字符串将被删除(替换为空)。
简而言之,此特定代码段将删除字符串中的任何内容(包括等号(this.href,当前URL))。所以它会提取,例如来自foo.php的“42”?id = 42。