2013-07-03 5 views
1

간단히 말해 링크의 href 소품을 당겨서 클릭하면 새 링크로 교체해야합니다. 새 링크에는 원래 링크의 1 매개 변수가 필요합니다 (청구 링크는 새 창을 열어 사용자에 대한 작업을 청구합니다).위키의 Regex specific Param

지금까지 나는 해결책을 가지고 있습니다. 내가 원하는 건 누군가 내게 도움이 될거야. RegEx 조금. 링크는

좋아 : 얻을

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

과 :

/crm/v2/[email protected]&id=1372365392-1UsIvb-0002qr-Sz 

은 내가 사용하는 내가하고 싶은 무엇

[email protected] 

.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/[email protected]&id=133453465392-k0wS24S-36735qr-rt 

는 사용 :

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

가 얻을 것이다 :

order=123456& 
phone=6665554444& 
num=6665554444& 
[email protected]& 

답변

1

는 그냥 내다보기를 사용 : 당신은 또한 긍정적 예측을 사용할 수 있습니다.

+0

권자, 그렇게 쉽게, 나는 그것이 단순한 무엇인가 알고 있었다! 던컨! – SpYk3HH

2

을이 시도 :

$(this).prop("href").match(/((email|order|phone|num)=\s*?(.+))&/)[1] //"[email protected]" 
$(this).prop("href").match(/((email|order|phone|num)=\s*?(.+))&/)[3] //"[email protected]" 
을 0

위 코드는 &이없는 부분을 캡처 그룹에 넣습니다. (email|order|phone|num)=\s*?(.+)(?=&)

그것은 앰퍼샌드 "식사"하지 않습니다

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