2011-12-01 1 views
0

요소의 텍스트에서 숫자 하나를 꺼내려면 어떻게해야합니까? 이 변수를 변수로 설정하고 싶습니다.JavaScript 정규 표현식은 요소의 숫자 만 꺼냅니다.

즉. 나는 그래서 그것으로 계산을 할 수있는 숫자 12의 옵션 발 (171)에서 만든 변수가하고 싶었다면 (난 그냥 12 번 왼쪽 싶은) :

<select id="coloroption"> 
<option value="172">Granite Gray</option> 
<option value="174">Hot Red</option> 
<option value="173">Navy</option> 
<option value="171">Kentucky Green (min. 12)</option> 
</select> 

답변

4
var number = $('#coloroption option[value="171"]').text().match(/\d+/); 

Live demo합니다. 이 옵션의 가능한 값과 추출 할 항목에 따라 정규식을 조정해야 할 수도 있습니다.

+0

일치하는 문자열을 반환하므로 그냥 INT로 캐스팅하기 위해 모든 것을 parseInt()에 넣습니다. – Ivan

+0

@Ivan'+'단항 연산자가 작업을 완료합니다.'parseInt'가 필요 없습니다 ... –

+0

이것은 정상적으로 작동합니다. 또한 jQuery를 사용하여 계산할 때 parseInt로 래핑을 시도했지만 현재 계산을 위해 NaN을 반환합니다. – ToddN

1

Darin Dimitrov이 질문에 대한 정확한 대답입니다. +1

그러나 마크 업을 제어 할 수 있다면 다른 방법을 제안 할 것입니다. 사용하기 쉬운 정보를 명시 적으로 저장하는 데는 data- 속성을 사용하는 것이 가능합니다. 데이터를 얻기 위해 깨지기 쉬운 문자열 파싱을 사용하는 것이 아닙니다. 전자가 바람직하다하더라도

<option value="171" data-processing-minutes="12">Kentucky Green (min. 12)</option> 

그리고이

var value = $('#coloroption option[value="171"]').data("processing-minutes"); 

또는

var value = $('#coloroption option[value="171"]').attr("data-processing-minutes"); 

와 그 속성을 검색한다.