2014-07-16 3 views
0

일부 값을 동적으로 얻는 함수가 있으며 다른 함수로 전송합니다. 내가 함수에이 값을 보내고자바 스크립트에서 문자열이 작동하지 않습니다.

function sample(){ 
//some code here 
var latlong1=//some value; 
var latlong2=//some value; 
fnSplitString(latlong1,latlong2); 
} 

내 'L1'와 'L2가'로 제대로 값을 경고하는

function fnSplitString(l1,l2) 
{ 
alert("Latlong1::::"+l1); 
alert("LatLong2::::"+l2); 
var splitStringLatLong=l1.split(","); 
alert("split1"+splitStringLatLong[0]); 
alert("split2"+splitStringLatLong[1]); 
} 

여기 말한다.

Latlong1::::lat=78.23456,long=26.56789 
Latlong2::::lat=74.57585,long=22.67890 

이 두 문자열에서 숫자 값만 추출하려고합니다. 그러므로 나는 그것을 쉼표까지 먼저 분리하려고했다. 그러나 분할은 전혀 작동하지 않습니다. 나는 어떤 경고 메시지도받지 않는다. 실수는 어디 있습니까? 그리고 문자열에서 숫자 만 추출하려면 어떻게해야합니까?

+0

이 작동합니다 :' "lat = 78.23456, long = 26.56789".split (',')'. 브라우저 콘솔을 확인하십시오. 어딘가에 오류가있어 경고가 실행되지 않을 가능성이 큽니다. – jgillich

+0

브라우저 기록을 삭제했습니다. 아직도 그것은 나에게 경고하지 않습니다. – user3201640

+0

구문 오류입니다. 함수 선언 중간에 세미콜론이 있습니다. – Scimonster

답변

0

fnSplitString 정의의 첫 번째 줄 끝에 여분의 세미콜론이 있습니다.

제거하고 작동하는지보십시오. 아래의 수정 된 코드.

function fnSplitString(l1,l2) 
{ 
    alert("Latlong1::::"+l1); 
    alert("LatLong2::::"+l2); 
    var splitStringLatLong=l1.split(","); 
    alert("split1"+splitStringLatLong[0]); 
    alert("split2"+splitStringLatLong[1]); 
} 
+0

여기에 타이핑 실수가 있습니다. 나는 그것을 편집했다. 아직도 doesnt 일. – user3201640

0

그것은 최선의 해결책은 아니지만이 작품 :

var temp = 'lat=78.23456,long=26.56789'; 
var lat = temp.substring(4, temp.indexOf(",long")); 
var long = temp.substring(temp.indexOf("g")+2, temp.length); 
alert(lat); 
alert(long); 
+0

확실히 최고는 아닙니다. 장래에 "lat"와 "long"문자열이 바뀔 수 있습니다. 첫 번째 타이머를위한 좋은 노력. 에 오신 것을 환영합니다. – nightgaunt

0

내가 정규식 가장 간단한 해결책이라고 생각합니다.

나는이 매우 강한 아니지만, 여기 간다 :

var str = "lat=78.23456,long=26.56789"; 
var s = str.match(/(?:\d*\.)?\d+/g); 
alert("string1: "+s[0]+", string2: "+s[1]); 

결과는 문자열의 배열입니다,하지만 당신은 당신이 원하는대로로 변환 할 수 있습니다.

관련 문제