1

簡単に言えば、リンクの href prop をプルし、クリックしたときに新しいリンクに置き換える必要があります。新しいリンクには、元のリンクからの 1 つのパラメーターが必要です (新しいウィンドウを開いてユーザーのタスクを要求する要求リンク)。

これまでのところ、実用的なソリューションがあります。私が望んでいるのは、誰かが私の正規表現を少し改良するのを手伝ってくれることです

次のようなリンクの場合:

/crm/v2/claimTask?email=example@gmail.com&id=1372365392-1UsIvb-0002qr-Sz 

私が使う:

$(this).prop("href").match(/(email|order|phone|num)=\s*?(.+)&/)[0].replace(/&/, '')

そして得る:

email=example@gmail.com 

私がやりたいのは、最初にシンボルを削除.replace(/&/, '')して正規表現を停止できるようにすることですが、これを行う方法がわかりません。&何か案は?

その他の例:

/crm/v2/claimTask?order=123456&id=137236456452-1UweRRwvb-00456jr-Sz
/crm/v2/claimTask?phone=6665554444&id=175655392-4WERTe4-097qt-Da
/crm/v2/claimTask?num=6665554444&id=1372234392-9sfaWa-12374ip-eW
/crm/v2/claimTask?email=email@test.net&id=133453465392-k0wS24S-36735qr-rt

使用:

$(this).prop("href").match(/(email|order|phone|num)=\s*?(.+)&/)

次の結果が得られます。

order=123456&
phone=6665554444&
num=6665554444&
email=email@test.net&
4

2 に答える 2

1

先読みを使用するだけです: (email|order|phone|num)=\s*?(.+)(?=&)

アンパサンドを「食べる」ことはありません。

于 2013-07-03T15:38:52.833 に答える