JS的replace 使用 第二個引數為函式
var reg=new RegExp("(http://www.qidian.com/BookReader/)(\\d+),(\\d+).aspx","gmi");
var url="http://www.qidian.com/BookReader/1017141,20361055.aspx";
//方式一,最簡單常用的方式
var rep=url.replace(reg,"$1ShowBook.aspx?bookId=$2&chapterId=$3");
alert(rep);
//方式二 ,採用固定引數的回撥函式
var rep2=url.replace(reg,function(m,p1,p2,p3){return p1+"ShowBook.aspx?bookId="+p3+"&chapterId="+p3});
alert(rep2);
//方式三,採用非固定引數的回撥函式
var rep3=url.replace(reg,function(){var args=arguments; return args[1]+"ShowBook.aspx?bookId="+args[2]+"&chapterId="+args[3];});
alert(rep3);
相關推薦
關於字串replace方法第二個引數為函式的用法
比如把“<>”換成轉義符 function escapeHtml(str){ return str.replace("/[<>]/g",function(word,idx){ //注:第一個引數為匹配的字串,第二個引數為匹配到的索引標 switch(word
JS的replace 使用 第二個引數為函式
var reg=new RegExp("(http://www.qidian.com/BookReader/)(\\d+),(\\d+).aspx","gmi"); var url="http://www.qidian.com/BookReader/1017141,20361055.aspx"; //
解讀replace的第二個引數為函式
在js中,str.replace(RegExp,function(args){});第二個引數為函式,為了更好的解釋,我在這裡把函式裡的引數暫作為陣列args。 首先明確第一點:args的長度並不固定
在自定義控制元件的過程中犯下的錯,在呼叫有三個引數的構造方法時this(context,null,0);第二個引數為空,在Activity中 findViewById找到對應的控制元件時
在自定義控制元件的過程中犯下的錯,在呼叫有三個引數的構造方法時this(context,null,0);第二個引數為空,在Activity中 findViewById找到對應的控制元件,在給控制元件設
JS 關於replace第二個引數是函式
var tpl = 'Hei, my name is <%name%>, and I\'m <%age%> years old.';var data = { "name": "Barret Lee", "age": "20"};var result = tpl.repl
javascript中字串string.replace 第二個引數是函式簡單介紹
例子: const camelizeRE = /-(\w)/g function camelize(str) { return str.replace(camelizeRE, toUp
GetMessage函式第二個引數的問題
轉載地址:https://blog.csdn.net/shyrgst/article/details/7322268 今天在學習VC++深入詳解的過程中發現當GetMessage的Hwnd引數不為NULL的時候,會導致應用程式接收不到WM_QUIT訊息,此
2016/09/18 print_r函式第二個引數是否使用過,如果用過請說出具體功能
2016/09/18 print_r函式第二個引數是否使用過,如果用過請說出具體功能 print_r函式結構 bool print_r ( mixed $expression [,bool
(一)ghostscript原始碼分析之interp()函式的第二個引數
/* Main interpreter. */ /* If execution terminates normally, return e_InterpreterExit. */ /* If an error occurs, leave the current object in *perror_o
修改itoa函式,使得該函式可以接受三個引數。其中第三個引數為最小字元寬度。
#include <stdio.h> #include <limits.h> void itoa(int n, char s[], int width); void reverse(char s[]); int main(void)
PDO fetchAll 第二個引數 $fetch_argument
最近在使用fetchAll時發現和官方文件中的例子有些出入,還有官方文件一些描述有點晦澀,這裡簡單記錄下 array PDOStatement::fetchAll ([ int $fetch_style [, mixed $fetch_argument [, array $ctor_ar
react中setState第二個引數
初心-楊瑞超個人部落格誠邀您加入qq群(IT-程式猿-技術交流群):757345416 該函式會在setState函式呼叫完成並且元件開始重渲染的時候被呼叫,我們可以用該函式來監聽渲染是否完成,demo程式碼如下: this.setState( { link: 'h
踩坑:springboot+freemarker 第二個引數丟失變為FreeMarker
一個用springboot+freemarker做的頁面,發生了一件奇怪的事。頁面出了問題後,自動第二次請求get,第一個引數保留,第二個引數被自動替換為FreeMarkerController的寫法:@RequestMapping("content/{order}/{dis
C++中可以接受任意多個引數的函式定義方法
能夠接受任意多個引數的函式,可以利用過載來實現。這種函式的執行過程類似於遞迴呼叫,所以必須要有遞迴終止條件。 #include <iostream> #include &l
reduce在陣列求和中第二個引數initialValue討論
回撥函式第一次執行時,accumulator 和currentValue的取值有兩種情況:呼叫reduce時提供initialValue,accumulator取值為initialValue,currentValue取陣列中的第一個值;沒有提供 initialValue
討論:GetMessage()的第二個引數使用
在Windows程式設計中,關於訊息處理中的GetMessage,MSDN中有如下描述: The GetMessage function retrieves a message from the calling thread's message queue and place
ADD_MONTHS() 如果第二個引數是小數會怎麼樣?
我們經常使用ADD_MONTHS()函式來獲取一個日期的幾個月之後的日期,例如,我們希望得到兩個月之後的日期(2013年04月05日): ChenZw> alter session set nls_date_format = 'yyyy-mm-dd'; 會
C語言pthread_create傳遞帶多個引數的函式& pthread_join
pthread_create是類Unix作業系統(Unix、Linux、Mac OS X等)的建立執行緒的函式,標頭檔案在pthread.h中。函式的宣告如下: int pthread_create(pthread_t *tidp,const pthrea
Python踩坑之為可變引數的函式,如何動態傳遞多個引數進去
1、使用*(self.installAppPaths)搞定,一開始我就是想要動態傳遞多個 Tkinter.OptionMenu(self.root, self.box_variable, *(self.installAppPaths),command = self.box_list_clic
編寫一個函式 接受兩個字串引數 如果 第一個引數被第二個包含 則輸出第一個引數的首字元(圖)
#include "stdAfx.h" #include "ctype.h" #include "stdlib.h" #include "string.h" int main() { int z;