2012-02-14 4 views
0

자바 스크립트 함수를 작성하고 있습니다. 나는에서 수 (228)를 잡아하는 데 필요한 다음 URL 값 쌍의 숫자를 일치시키는 방법

var cancelURL = "artGallery.cgi?productid=228&key=photo&resultsC=20"; 

사람이 어떻게 값 쌍의 번호를 검색 할 수있는 정규식 패턴을 작성하는 저를 보여줄 수

변수?

+0

항상 'productid = '이 될 것입니까? – Alan

+1

http://stackoverflow.com/questions/1842681/regular-expression-to-remove-one-parameter-from-query-string – xandercoded

+0

예 젠더, 항상 다른 ID – user1208110

답변

1
var n = (cancelURL.match(/(?:\?|&)productid=(\d+)/) || [null,null])[1]; 

alert(n); 
+2

다음은 ** mproductid **와 같은 또 다른 변수가있을 수도 있고 값이 비어있을 가능성이있는 경우를 생각해 보겠습니다. var s = (cancelURL.match (/ (\? |) productid = (\ d *) /) || [ '', '', ']] [2];' – inhan

+0

은's = etc.' 대신 ** n = etc. **이어야합니다. – inhan

+0

@inhan : 좋습니다. 업데이트 됨. 그룹을 비 캡처 그룹으로 만 변경했습니다. –

0

항상 productid을 찾고있는 경우 /productid=([^&]*)/i을 정규식으로 사용할 수 있습니다. 그것은 = 이후이고 다음은 & 전의 모든 것을 잡을 것입니다.

[^?]+\?(\&?(?<par>\w+)=(?<value>\w+))+ 

:

+0

이전 답변이 저에게 효과적이었습니다. 댓글을 작성하고 테스트 해보십시오. 고맙습니다. – user1208110

0

매개 변수 각각 = 후 해당 값과 일치 parvalue라는 이름의 그룹에 대한 일치하는 내용보기, 내 다음 전체 URL을 일치하도록 다음과 같은 정규 표현식을 사용하여 이것은 일반적인 해결책이지만 productid 매개 변수를 찾는 특정 문제를 해결합니다.

+0

나는 그것을 시험 할 것입니다. 고마워요시나. – user1208110

관련 문제