|
上篇:WEB前端研發(fā)工程師編程能力成長(zhǎng)之路(1)
四.【入微】
最強(qiáng)解決方案。你能夠走在需求的前面,將當(dāng)前需求里有的、沒(méi)有直接提出來(lái)的、現(xiàn)在暫時(shí)沒(méi)有但將來(lái)可能有的等等,及前端編程潛規(guī)則等各個(gè)方方面面都綜合考慮,給出最優(yōu)方案。以一招勝萬(wàn)招。
var str = "http://www.xxx.com/?pn=0"; // 刪除指定字符 pn=0
// 我將這個(gè)字符串里所可能想到的各種情況都列舉出來(lái)
var a = [
"http://www.xxx.com/VMpn=?pn=0"// pn= 可能出現(xiàn)在 ? 前
, "http://www.xxx.com/VMpn=?pn="// URL里允許pn 值為空
, "http://www.xxx.com/VMpn=?pn=0&a=1"// URL 里可有多個(gè)字段
, "http://www.xxx.com/VMpn=?a=1&pn=0"// 可能排在最后
, "http://www.xxx.com/VMpn=?a=1&pn=0&pn=1"// 可能有多個(gè) pn 字段
, "http://www.xxx.com/VMpn=?a=1&pn=0&b=2"// 可能在中間
, "http://www.xxx.com/VMpn=?a=1&pn=0&pn=1&b=1" // 可能在中間成組
, "http://www.xxx.com/VMpn=?a=1&pn=0&b=1&pn=1" // 可能零星分布
];
/* 需求的不言之秘:
? 若出現(xiàn)在字符串最尾則要去之
? & 兩個(gè)符號(hào)不可重疊
*/
var reg = /((/?)(pn=[^&]*&)+(?!pn=))|(((/?|&)pn=[^&]*)+$)|(&pn=[^&]*)/g;
for (var i = 0; i < a.length; i++) {
alert(a[i] + "/n" + a[i].replace(reg, "$2"));
}
it知識(shí)庫(kù):WEB前端研發(fā)工程師編程能力成長(zhǎng)之路(2),轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。