2012-07-03 4 views
2

"foo_bar"값을 가진 입력 상자가 있다고 가정 해 봅시다.jQuery의 문자열에서 부분 값 얻기

변수뿐만 아니라 bar에도 foo를 지정하려고합니다. 나는 그것들 각각의 길이를 결코 알지 못한다. 본질적으로 _ 왼쪽의 것은 하나의 변수 여야하며 오른쪽의 모든 것은 다른 변수 여야합니다.

jQuery에서 어떻게합니까?

+0

문자열 조작이 이루어집니다 [ 표준 JS 문자열 방법] (https://developer.mozilla.org/en/JavaScript/Refer ence/Global_Objects/String/# Methods_2) (이것은 jQuery가 그것을 수행하는 방법을 제공하지 않는 이유입니다). – nnnnnn

+0

var str = "foo_bar", my_arr = str.split (/ _ /); – Serjio

답변

1

jQuery가 필요하지 않은 일반 자바 스크립트로 처리 할 수 ​​있습니다. 정규 표현식이 하나의 대안이거나 '_'구분 기호가 항상 있음을 알고있는 경우 indexOf 메서드를 사용하여 위치를 찾고 거기에서 분리 할 수 ​​있습니다. 다양한 위해서

var str = "foo_bar"; // Change with input data 
var index = str.indexOf("_"); 
if (index < 0) return false; // Change this with your '_' not found code 
var foo = str.substr(0, index); 
var bar = str.substr(index + 1); 
+0

Carlos 감사합니다, 나는 몇 분 안에 대답을 표시 할 것입니다. –

1

당신이 코드를 사용할 수 있습니다

또는 예와

var 
str = 'foo_bar', 
left = /(.+)_/.exec(str)[1], 
right = /_(.+)/.exec(str)[1] 
+0

'index' var이'-1'과 같을 때 상황을 체크하지 않습니다. – Serjio

+0

그는 검증을 요구하지 않았지만, 당신을 기쁘게한다면 추가했습니다. 그가 요청한 것은 그것을하는 법이며 실제로 그것이 실제로 형성된 문자열인지를 검증하는 방법이 아닙니다. – Aidiakapi

1
var a = 'foo_bar'​; 
​var b = a.split('_')​; 

​var left = b[0]​; 
var right = b[1​]; 
0

:

var val = $("#inputId").val(); 
int separatorIndex = val.indexOf('_'); 
var first = val.substring(0, separatorIndex); 
var second = val.substring(separatorIndex + 1);