今天要幫朋友做一個解析 javascript 字串的範例, 其實硬 parse 也是很簡單, 但還是想用更好的方法來進行, 於是利用了 javascript 的 Regular Expression 來做 parse 的行為.
在 javascript 中, 使用 Regular Expression 的方式有兩種, 一種是利用 new RegExp , 一種是直接用 perl 的那種語法 /xxxxx/ 的方式, 我們來看看怎麼做吧:
題目是將網址列中的某一參數取出來, 例如 param 這個參數,
http://host/j.htm?a=1¶m=data&b=2
其中的 param 參數的值為 data, 利用 Regular Expression 的取出方式如下:
var re = new RegExp("param=([a-z]+)"); var m = re.exec(window.location); if(m) alert(m[1]);
利用了比對字串 param=([a-z]+) 來將 param 的參數值取出, 其中的 m 內容將會是 [0] 為整個 Regular Expression 的字串, [1] 會是第一個取出的值, 若有多個比對的 () 小括號, 就放到 [2], [3]… 以此類推.
這樣的執行結果就會取出 “data” 這個值.