0

我想在下面的字符串中解析数据操作。我已经设法获取其中的数据,但我想解析它,以便“action” = togglestate 和“params” = 括号内的任何内容。我不太擅长正则表达式,但我目前正在使用它但无济于事:(此代码在执行函数中)

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

HTML:

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

4

1 回答 1

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
}
于 2012-06-28T07:01:59.407 回答