2012-06-07 3 views
2

다음은 질문입니다. 문자열에있는 값을 어떻게 바꿀 수 있습니까? 여기 자바 스크립트를 사용하여 동적 문자열 값 바꾸기

내가 할 노력하고있어 무엇 당신이 정규식을 사용할 필요가 추측하고있어 .. : 내가 현재 사용 동적 값을 설명하기 위해 노력하고있어

var height = 500; 

    var urlstr = "...?height=300&width=200"; 

    var newurl = urlstr.replace("height=%&","height="+height+"&"); 

    alert(newurl); 

공지 사항에 " % "기호, 그러나 작동하지 않습니다 .. 정규 표현식을 사용하면 위대하지 않아 당신 중 누구라도 나에게 힌트를 줄 수 있다면 감사 할거예요. 아니면 내가 잘못 접근하고 있는지 말해 줄 수 있습니다.)

답변

3

그래, 당신은 정규식이 필요합니다. 다행히도 매우 복잡하지는 않습니다.

var height = 500; 
var urlstr = "...?height=300&width=200"; 
var newurl = urlstr.replace(/(height=)([0-9]+)/, '$1' + height); 

alert(newurl); 
+0

감사합니다? PS 블렌더 규칙 : – user1199434

+0

'$ 1'은 첫 번째로 일치하는 그룹을 가리키며, 이는 'height ='입니다. 나는 게으르며'height ='를 쓰고 싶지 않았으므로 대신'$ 1 '을 사용했다. '$ 2'는 당신이 필요로 할 때를 대비하여 오래된 높이의 내용을 담고 있습니다. – Blender

+0

그리고 예, 블렌더 규칙;) 정말 멋지 네요. – Blender

2

"%"는 (는) "% 25"(으)로 인코딩됩니다. 당신의 심판에 대한
,
자바 스크립트에 encodeURIComponent 당신이 날,이 비트가 '$ 1'무엇을 하는가 묻는 괜찮다면, 완벽하게 작동

관련 문제