javascript
2012-06-28 4 views 0 likes 
0

아래의 문자열에서 data-action을 구문 분석하고 싶습니다. 나는 그 안의 데이터를 얻을 수 있었지만 그것을 분석하여 "action"= togglestate와 "params"= 대괄호 안의 모든 것을 만들고 싶습니다. ,RegExp를 사용하여 괄호 안팎의 값을 얻는 방법

<div data-action='toggleState(test)' onClick='execaction(this);' id='testelem'>div running execaction on click with action parameter</div>

답변

1
var action = elem.dataset.action.match(/.*\(/)[0]; 
if (action != null) action = action.substring(0, action.length - 1); //remove '(' 
var params = elem.dataset.action.match(/\(.*/)[0]; 
if (params != null) { 
    params = params.substring(1, params.length -1); //remove '(' and ')' 
    params = params.split(','); //split parameter names 
} 
+0

감사 :

var regex = /(.*)(\((.*)\))?/gi; var list = elem.dataset.action.match(regex); var action = list[1]; var params = list.splice(0,2).join(); 

HTML (이 코드는 execaction 기능에) : 난 정규식 너무 좋은 아니에요하지만 난 현재 아무 소용이 이것을 사용하고 있습니다 매력처럼 일했다 :) – JohnHoulderUK

관련 문제